lecture de fichier Excel -> format xlsx avec java

J’essaie de lire un fichier Excel (xlsx NOT xls), mais sans aucune chance. J’ai essayé l’API jexcel mais il ne supporte pas l’extension xlsx, alors j’ai essayé l’API Apache qui doit fonctionner et essayé aussi l’exemple de leur site web mais sans chance. Je ne peux pas passer la phase de lecture du fichier et obtenir un exception filenotfound. a également utilisé les poi-ooxml-3.6.jar, xmlbeans-2.6.0 et poi-3.7.jar.

Quelqu’un peut-il s’il vous plaît m’expliquer quels types d’api / classes / bibliothèques je dois utiliser et comment l’utiliser avec eclipse (les bibliothèques externes / classes / api sont totalement nouvelles pour moi)

Merci d’avance

Apache POI est une bonne librairie pour lire le format xsl et xslx.

Pour lire un fichier, instanciez simplement un nouveau XSSFWorkbook en transmettant un nouveau fichier FileInputStream avec le chemin du fichier Excel:

 XSSFWorkbook workbook = new XSSFWorkbook(OPCPackage.open(new File("foo.xslx"))); 

Ou avec un stream d’entrée (prend un peu plus de mémoire qu’un fichier):

 XSSFWorkbook workbook = new XSSFWorkbook(myInputStream); 

Après avoir un XSSFWorkbook , utilisez-le pour parcourir toute la cellule ( exemple ).

Téléchargez Apache POI 3.9 ici

En utilisant POI 3.8 et poi-ooxml-3.8, j’ai eu du succès avec quelque chose comme ça (je n’ai pas essayé les anciennes versions):

 InputStream is = //Open file, and get inputstream Workbook workBook = WorkbookFactory.create(is); int totalSheets = workBook.getNumberOfSheets(); for (int i = 0; i <= totalSheets - 1; i++) { Sheet sheet = workBook.getSheetAt(i); // Do something with the sheet } 

WorkbookFactory déterminera automatiquement si le fichier est l'ancien XLS ou XLSX plus récent et renvoie la version correcte du Workbook . Le rest du code est juste un exemple d'itération à travers les feuilles contenues dans.