Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

JAVA - Convertir un file xls to csv

Gueule d'ange, le vendredi 22 février 2008 à 10:47:05
Bonjour,

j'ai un fichier EXCEL nommé 'file.xls', je souhaite développer un programme JAVA pour le convertir en document texte/csv 'file.txt' avec comme séparateur : des tabulations.

Auriez-vous une idée ? Quels sont les imports ?


Cordialement,
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Gueule d'ange  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
=[Cvrd]=Tassin, le vendredi 22 février 2008 à 15:30:41
J'utilise deux librairies gratuites trouvées sur le web :

- Une pour lire le fichier Excel : http://poi.apache.org/hssf/index.html
- L'autre pour écrire le fichier CSV (pas nécessairement utile) : http://opencsv.sourceforge.net/

Voici le code :

import au.com.bytecode.opencsv.CSVWriter;

import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;

import java.util.Vector;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class TestXLS
{
private POIFSFileSystem fs = null;
private HSSFWorkbook hssfworkbook = null;
private Vector lignes = null;

public TestXLS(String file)
{
try{
fs = new POIFSFileSystem(new FileInputStream(file));

hssfworkbook = new HSSFWorkbook(fs);
lignes = new Vector();
}
catch(Exception e)
{
System.err.println("Exception constructeur : "+e.getMessage());
System.exit(-1);
}
}

public void lecture()
{
for (int i = 0; i < hssfworkbook.getNumberOfSheets(); i++)
{
HSSFSheet sheet = hssfworkbook.getSheetAt(i);
int rows = sheet.getPhysicalNumberOfRows();
for(int j=0;j<rows;j++)
{
Vector temp = new Vector();
HSSFRow row = sheet.getRow(j);
int cells = row.getPhysicalNumberOfCells();
for(short k=0;k<cells;k++)
{
HSSFCell cell = row.getCell(k);
String value = null;

switch (cell.getCellType())
{
case HSSFCell.CELL_TYPE_FORMULA :
value = cell.getCellFormula();
temp.add(value);
break;
case HSSFCell.CELL_TYPE_NUMERIC :
value = ""+cell.getNumericCellValue();
temp.add(value);
break;
case HSSFCell.CELL_TYPE_STRING :
value = cell.getRichStringCellValue().getString();
temp.add(value);
break;
default : value ="";
}
}
lignes.add(temp);
}
}
}

public void ecrireCSV(String file)
{
CSVWriter writer = null;
try{
writer = new CSVWriter(new FileWriter(file), ';');
for(int i=0;i<lignes.size();i++)
{
Vector temp = (Vector)lignes.get(i);
Object[] entree = (Object[])temp.toArray();
ecrireString(writer, entree);
}
writer.close();
}
catch(IOException ex)
{
System.err.println("Erreur lors de l'écriture : "+ex.getMessage());
}
}

private void ecrireString(CSVWriter writer, Object[] entree){
String[] tab = new String[entree.length];
for(int i=0;i<entree.length;i++)
tab[i] = (String)entree[i];
writer.writeNext(tab);
}

public Vector getLignes(){return lignes;}

public static void main(String[] args)
{
TestXLS test = new TestXLS("D:\\test.xls");
test.lecture();
test.ecrireCSV("D:\\test.txt");
}
}
-- Alex pour vous servir --
Répondre à =[Cvrd]=Tassin

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 www.love.com, le mardi 7 octobre 2008 à 21:20:13
salut ca va moi boubakr de agadir msn love_morad58@hotmail.com oki bey bizooooooooooo
Répondre à www.love.com
Télécharger Free Excel/Xls to Pdf Converter Convertissez rapidement et facilement vos documents Excel en document PDF. Rien de plus simple avec Excel/Xls to Pdf Converter. C'est un outil de conversion qui vous permet de convertir un fichier Excel en PDF. La conversion peut se faire... www.commentcamarche.net/telecharger/telecharger-34056376-free-excel-xls-to-pdf-converter
[Excel] comment enregistrer un xls en csv ... (Résolu) bonjour mon titre est incomplet, mmais j'avais plus de place ! alors je m'explique plus clairement : je voudrais enregistrer une fichier excel xls en csv (séparateur point virgule) mais en gradant les propriétés de xls (nombre de chiffres... www.commentcamarche.net/forum/affich-3052467-excel-comment-enregistrer-un-xls-en-csv
Xls en csv (Résolu) Bonjour, le titre dit tout je voudrai convertir un fichier xls en csv. Cela à l'air apparemment facile mais je ne trouve rien dessus sur le net. MErci www.commentcamarche.net/forum/affich-4952935-xls-en-csv
Casque audio, écouteurs, casque audio sans fil: comment choisirPour regarder un film en toute tranquillité ou pour écouter de la musique sur un baladeur MP3, on ne va pas utiliser le même casque. Tout ce qu’il faut savoir pour bien choisir son casque. Présentation des produits Les écouteurs Le... www.commentcamarche.net/faq/sujet-15224-casque-audio-ecouteurs-casque-audio-sans-fil-comment-choisir
Configurer sa connexion WiFi avec Windows XPDepuis Windows XP, Microsoft a intégré à son système d'exploitation un agent WiFi, baptisé par la firme "Configuration Zéro". Dans un premier temps et pour l'utiliser convenablement, il est tout d'abord nécessaire de désactiver les autres logiciels... www.commentcamarche.net/faq/sujet-7223-configurer-sa-connexion-wifi-avec-windows-xp
Conversion CSV - MS EXCEL (Résolu)Bonjour, Je veux convrtir un fichier .XLS en CSV avec séparateur virgule. Dans enregistrer sous Excel ne m'offre le format CSV séparateur point-virgule. Y a-t-il un truc ou un add-in pour effectuer cette convertion Merci www.commentcamarche.net/forum/affich-7250603-conversion-csv-ms-excel
Transformation .csv/.xls en perl (Résolu)Bonjour, Il y a quelques temps, j'avais demandé de l'aide sur la conversion d'un fichier .xls en .csv en perl. Et j'avais réussi à faire ma conversion grâce à vous. Maintenant, je dois faire l'inverse, c'est à dire passer... www.commentcamarche.net/forum/affich-4694515-transformation-csv-xls-en-perl
Les touches filtres et remanentes (Résolu)Bonjour, j'ai toujours l'apparition du message suivant: touches filtres l'appuis sur la touche MAJ de guauche pendant 8 secondes active les touches filtres .les touches filtres forcent Windows à ingnorer les appuis brefs ou répétés et... www.commentcamarche.net/forum/affich-7193509-les-touches-filtres-et-remanentes
Télécharger BlueJBlueJ est un programme qui permet d’apprendre la programmation en Java. Ce logiciel très simplifié, offre la possibilité pour les débutants de s’accommoder au développement d’applications en utilisant Java. Il est avant tout basé sur La programmation... www.commentcamarche.net/telecharger/telecharger-34056018-bluej
Toshiba PA3144U-1ETCPA 3144 3144 U 3144U 3144U, Filaire, Fabricant:Toshiba, Bande passante écouteurs: , Divers: , Type:Casque, Technologie sans-fil:Filiaire www.commentcamarche.net/guide-achat/toshiba-pa3144u-1etc-859960-fiche-technique
Logitech Internet 1500 Laser Cordless DesktopClavier / Souris, USB, Clavier sans fil, Windows, Touches multimédia, Port:USB, Modèle:Standard, Divers: , Clavier sans fil www.commentcamarche.net/guide-achat/logitech-internet-1500-laser-cordless-desktop-669681-fiche-technique
Microsoft Natural® Wireless Ergonomic Desktop 7000Clavier / Souris, USB, Clavier sans fil, Windows, Touches multimédia, Support Poignet, Divers:Features Magnifier Point and click to enlarge and edit details using the Magnifier, Modèle:Ergonomique, Port:USB, Clavier sans fil, Fabricant:Microsoft, Page web www.commentcamarche.net/guide-achat/microsoft-natural-wireless-ergonomic-desktop-7000-991178-fiche-technique
Festival de Toronto : le film "Slumdog Millionaire" de Danny Boyle récompensé(Paris - Relax news) - Le long métrage Slumdog Millionaire du Britannique Danny Boyle a été honoré du People's Choice Award du 33ème Festival international du film de Toronto (Canada) samedi 13 septembre. Le réalisateur révélé avec Trainspotting... www.commentcamarche.net/actualites/festival-de-toronto-le-film-slumdog-millionaire-de-danny-boyle-recompense-5847340-actualite.php3
Les filtres graphiquesFiltrage Le filtrage consiste à appliquer une transformation (appelée filtre) à tout ou partie d'une image numérique en appliquant un opérateur. On distingue généralement les types de filtres suivants : les filtres passe-bas, consistant à atténuer... www.commentcamarche.net/contents/video/filtres.php3