Parcourir les colonnes de fichier excel en java

Signaler
-
 Reina -
Bonjour,
Salut à TOUS, j'aimerai savoir comment parcourir les colonnes de fichier excel dans un boucle en java .
Merci d'avance pour votre aide :) :) .

4 réponses

Salut ,j' ai testé le code et il fonctionne.merci pour la réponse et pour votre aide :) :) :D
Messages postés
29567
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 septembre 2020
337
Salut, j'ai téléchargé poi 3.17 j'aimerai de lire le contenu des colonnes dans un boucle voici mon code :
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.WorkbookFactory;

public class Role {


public static void main(String[] args) throws IOException, EncryptedDocumentException, InvalidFormatException{
// TODO Auto-generated method stub


// TODO Auto-generated method stub

FileInputStream f=new FileInputStream ("C:\\Users\\Administrateur\\Desktop\\poi-3.17-beta1\\BMAHD1.xls");
org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(f);
//lire la feuille internerl
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(10);

FormulaEvaluator forlulaEvaluator= workbook.getCreationHelper().createFormulaEvaluator();
for(Row row:sheet){
for(Cell cell:row){
switch(forlulaEvaluator.evaluateInCell(cell).getCellType())
{
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}}



}}}



comment je peux lire les colonnes dans un boucle .
Merci pour vous aide .
Messages postés
1
Date d'inscription
mercredi 9 août 2017
Statut
Membre
Dernière intervention
9 août 2017

Bonjour

Pour lire les cellules tu peux faire comme ca :
- en premier lieu créer un Workbook :
final Workbook workbook = WorkbookFactory.create("Objet File") ;
- ensuite définit la feuille à utiliser :
final Sheet feuille = workbook.getSheet("Feuil1") ;
- ensuite créer et définir un index pour ta boucle en gros la ligne d’où tu veux commencer ce qui permet en plus de terminer ta boucle :
int index = 1 ;
int numColonne = 1 ;
Row row = feuille.getRow(index++) ;
- ensuite une boucle while classique :
while (row != null) { System.out.println(row.getCell(numColonne).getStringCellValue()) ;
row = feuille.getRow(index++) ; // Déplacement à la ligne suivante
}

Ce qui au final donne quelque chose comme ça

import java.io.File;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

public class test {

public static void main(String[] args) {
try {
final Workbook workbook = WorkbookFactory.create(new File("test.xlsx")) ;
final Sheet feuille = workbook.getSheet("Feuil1");
int index = 1 ;
int numColonne = 2 ;
Row row = feuille.getRow(index++) ;
while (row != null) {
System.out.println(row.getCell(numColonne).getStringCellValue()) ;
row = feuille.getRow(index++) ;
}
} catch (Exception e) {
System.err.println("Erreur lors de l'accès au fichier !");
e.printStackTrace();
}
}

}


Ensuite si tu veux faire autre chose que d'afficher le contenu des cellules, tu peux les stocker dans une ArrayList<String> par exemple.