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

avec Java Discussion :

Excel avec JAVA (POI Apache)


Sujet :

avec Java

  1. #1
    Invité
    Invité(e)
    Par défaut Excel avec JAVA (POI Apache)
    Bonjour,

    Dans le cadre dans mon projet, je dois générer les résultats obtenus dans un fichier Excel, j'ai lu sur internet que POI Apache et une bonne API pour faire cela.

    J'ai donc importé l'api dans mon build path :

    - poi-5.0.0

    - poi-examples-5.0.0

    - poi-excelant-5.0.0

    - poi-integration-5.0.0

    - poi-ooxml-5.0.0

    - poi-ooxml-full-5.0.0

    - poi-ooxml-lite-5.0.0

    - poi-scratchpad-5.0.0

    - commons-compress-1.20

    - curvesapi-1.06

    - xmlbeans-4.0.0

    - commons-codec-1.15

    - commons-collections4-4.4

    - commons-math3-3.6.1

    - SparseBitSet-1.2

    Y-a t-il des jar qui servent à rien ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    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;
     
    public class Excel {
     
      public static void main(
          String[] args) {
     
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("ma feuille");
     
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell((short)0);
        cell.setCellValue(10);
     
        row.createCell((short)1).setCellValue(20);
     
        FileOutputStream fileOut;
        try {
          fileOut = new FileOutputStream("monfichier.xls");
          wb.write(fileOut);
          fileOut.close(); 
        } catch (FileNotFoundException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
        The type org.apache.poi.xssf.usermodel.XSSFSheet cannot be resolved. It is indirectly referenced from required .class files
        Type mismatch: cannot convert from XSSFSheet to Sheet
        The type java.time.LocalDateTime cannot be resolved. It is indirectly referenced from required .class files
        The type java.time.LocalDate cannot be resolved. It is indirectly referenced from required .class files
     
        at Excel.main(Excel.java:15)
    Je ne comprend pas l'erreur...

    Merci d'avance

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    Réponse: Je n'en sais rien.

    Pour créer un projet avec des dépendances (voir sans dépendances), je recommande un outil de build.

    De mon point de vue, Maven est le plus simple (et le meilleur).

    Il existe Gradle aussi.

    L'outil de build va gérer tes dépendances, et si une jar a besoin d'une autre jar, il la téléchargera;

    Pour le repository maven:
    https://mvnrepository.com/

    Et repository pour apache POI:
    https://mvnrepository.com/artifact/o....poi/poi/5.0.0

    D'ailleurs, sur le dernier lien, tu remarqueras que certaines de tes jar y sont.

    Cordialement.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Par défaut
    Salut,

    Il te manque une dépendance.

    En fait maintenant en java on ne s'occupe plus trop de savoir quel jar va avec quel autre jar.
    On utilise souvent maven avec un edi comme Eclipse.
    Ensuite tu créér un projet maven et tu ajoutes dans le pom.xml les lignes pour récupérer poi.

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>

    Bon courage,

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Et a la fin on a 450mo de dépendances pour un projet de 10ko en utilisant même pas 1/100e des fonctionnalités de la lib qu'on utilise ou alors des JAR incompatibles avec des modules (cf Geotools) car plus personnes sait quelle partie requiert tel ou tel jar, lesquels sont en options et pourquoi il y a 3 jar différents qui implémentent la même API de specs (et donc que en fait seul le premier JAR sur le classpath est utilise lorsque l'application est non-modulaire mais c'est pas grave le gestionnaire de dépendances va tout mettre dans le même sac).

    Du coup, quelle version de Java utilises-tu? Est-ce que cette version de Java contient java.time? Est-ce une application modulaires?

    Perso la derniere fois que j'ai eut besoin d'utiliser POI, j'ai eut besoin des jar suivants :

    • poi-4.1.2.jar
    • poi-ooxml-4.1.2.jar
    • poi-ooxml-schemas-4.1.2.jar
    • xmlbeans-3.1.0.jar
    • commons-collections4-4.4.jar
    • commons-compress-1.19.jar
    • commons-math3-3.6.1.jar
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2017, 11h38
  2. Ouvrir un fichier excel avec Java?
    Par pigeonfurtif dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/05/2010, 11h45
  3. Lire fichier Excel avec java
    Par roujij dans le forum Documents
    Réponses: 18
    Dernier message: 15/07/2009, 14h46
  4. Traitement de données Excel avec Java
    Par ham83dje dans le forum Documents
    Réponses: 4
    Dernier message: 23/05/2008, 14h29
  5. Générer un fichier Excel avec java
    Par osman.amine dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/06/2007, 17h26

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