IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

conversion d'un fichier csv en xls


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut conversion d'un fichier csv en xls
    Bonjour,
    j'ai un petit problème .J'aimerais convertir un fichier text ".csv" avec un séparateur ";" en un fichier ".xls".Pourriez-vous m'indiquer le chemin à suivre ou me fournir un petit programme capable de le faire?
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Points : 73
    Points
    73
    Par défaut
    Je ne suis pas sûr que ce soit le bonne partie du forum pour parler de ça, mais il suffit d'ouvrir le fichier csv avec excel et de l'enregistrer au format xls.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    une précision:
    le fichier csv est généré par un programme VB6 à partir des informations reccueillies dans une base de données access. Par ailleurs, la machine sur laquelle sera lu le fichier ne dispose de microsoft Excel mais de excelViewer. De plus le seul language permettant de créer une application qui fonctionne sur tous les OS est à mon avis le java.

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Quel est l'intérêt, vu que excel (et je pense excelviewer également) sait lire les .csv... non?

    Sinon il faut regarder les API pour écrire du XLS (ça existe)... Mais bon c'est un peu inutile pour moi ...

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Cette appli sera utilisée sur des machines ne disposant pas de licence excel, c'est pour cette raisonqu'on utilise excelviewer qui est une open source.

  6. #6
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par yandoka
    Cette appli sera utilisée sur des machines ne disposant pas de licence excel, c'est pour cette raisonqu'on utilise excelviewer qui est une open source.
    Déjà excelviewer ne semble pas être open-source (mais bien gratuit), c'est fait par microsoft...

    Mais de toute façon, excelviewer doit bien lire les .csv, non?

    Et pourquoi ne pas utiliser un logiciel réellement open-source, comme open-office (ce qui ne change rien à ta question, c'est capable de lire du .csv aussi)?

  7. #7
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Salut,

    Si tu veux t'amuser va voir du cote de l'api poi Jakarta HSSF. Cette api permet de construire des fichiers .xls, tu pourra donc generer une feuille excel et la remplir avec tes données.

    Juste une petite remarque:
    Citation Envoyé par Yandoka
    De plus le seul language permettant de créer une application qui fonctionne sur tous les OS est à mon avis le java.
    Il me semble que le fichier .csv est justement plus portable que le .xls, c'est dommage de ne pas l'utiliser tel quel. Et je rejoins ®om et julien1311, ton excelviewer doit pouvoir lire le .csv a priori.

    En tout cas bon courage,
    Tif
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci à tous ceux qui ont essayé de me donner un coup de pouce.Mais comme ma dévise est "d'echec en echec je parviendrai", j'ai fini par trouver comment convertir un fichier cvs en xls. Voici comment j'ai procédé:



    import java.io.*;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;



    public class POI {

    private File csv = null;
    private HSSFWorkbook wb = null;
    private HSSFSheet s = null;
    private FileOutputStream out = null;
    private File xls = null;
    private String ficXLSDestination = null;
    public static void main(String[] args) throws IOException {
    System.out.println(args[0] + " " + args[1]);
    POI p = new POI(args[0], args[1]);
    p = null;
    }
    public File getFichierExcel() {
    return xls;
    }
    public POI(String ficCSVSource, String ficXLSDestination) throws FileNotFoundException {

    if (UtilFichiers.isValide(ficCSVSource, "csv")) {
    System.out.println("ok");
    csv = new File(ficCSVSource);
    // TODO verifieParamDestination non vide
    // TODO creeClasseur(destination)
    if (!ficXLSDestination.equals(null) && !ficXLSDestination.equals("")) {

    out = new FileOutputStream(ficXLSDestination);
    this.ficXLSDestination = ficXLSDestination;
    // create a new workbook
    wb = new HSSFWorkbook();
    // create a new sheet
    s = wb.createSheet();

    lireCSV();

    }
    }
    }

    private void lireCSV() {
    String chaine = "";
    String lignes[];

    try {
    InputStream fic = new FileInputStream(csv);
    InputStreamReader isr = new InputStreamReader(fic);
    BufferedReader br = new BufferedReader(isr);
    int rowNum = 0;
    while ((chaine = br.readLine()) != null) {
    lignes = chaine.split(";");
    HSSFRow r = s.createRow(rowNum);
    rowNum += 1;
    System.out.println(chaine.length());
    for (short i=0 ; i < lignes.length ; i++) {
    System.out.println(i);
    HSSFCell c = r.createCell(i);
    c.setCellValue(new HSSFRichTextString(lignes[i]));
    }
    System.out.println(chaine);
    System.out.println(lignes.length);
    }
    wb.write(out);
    out.close();
    isr.close();
    xls = new File(ficXLSDestination);
    Runtime.getRuntime().exec("C:\\Program Files\\Microsoft Office\\Office11\\XLView.exe " + ficXLSDestination);
    } catch (Exception e) {
    System.err.println(e);
    }
    }
    }

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 161
    Points : 168
    Points
    168
    Par défaut
    il me semble que j'avais utilisé une api pour manipuler (créér et récupérer des valeurs) dans un tableau excel. Je crois que l'api était jexcel, mais je viens de rejetter un oeil à cette api et il semble qu'elle soit plus ou moins devenue payante....

  10. #10
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Salut wtfu,

    me semble que j'avais utilisé une api pour manipuler (créér et récupérer des valeurs) dans un tableau excel. Je crois que l'api était jexcel, mais je viens de rejetter un oeil à cette api et il semble qu'elle soit plus ou moins devenue payante....
    C'est une question? Parce ce que sinon Yandoka a utilisé l'api poi Jakarta HSSF (cf. les imports)

    Cordialement,
    Tif
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  11. #11
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    Regarde vers la librairie JXLS.

  12. #12
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    ben la conversion csv -> xls c'est quoi ?

    1/ un fichier csv a un séparateur qqconque ( par defaut ";" en francais ,',' en anglais je crois)
    2/ le logiciel ( excelviewer) a partir de l'extension sait que le fichier est un csv et il fait des champs avec ce qui est entre ";"

    pas besoin de format pour ca !!

    Je l'ai fait avec un bete fichier texte ca marche tout seul ...
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Conversion de plusieurs fichiers csv en xls
    Par Akane69 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/07/2013, 17h23
  2. Conversion fichier .csv en .xls
    Par Peachplume dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/03/2008, 09h27
  3. Copier-coller entre fichier CSV et XLS
    Par da991319 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/09/2007, 21h42
  4. Lire un fichier CSV ou XLS de la même manière
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/07/2007, 15h12
  5. Enregistrer un fichier ".CSV" en ".XLS"
    Par Isa31 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/03/2006, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo