Parcourir les colonnes de fichier excel en java

- - Dernière réponse :  Reina - 9 août 2017 à 23:18
Bonjour,
Salut à TOUS, j'aimerai savoir comment parcourir les colonnes de fichier excel dans un boucle en java .
Merci d'avance pour votre aide :) :) .
Afficher la suite 

4 réponses

Meilleure réponse
1
Merci
Salut ,j' ai testé le code et il fonctionne.merci pour la réponse et pour votre aide :) :) :D

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Reina
Messages postés
26522
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2019
316
0
Merci
Bonjour,
Pour commencer : http://poi.apache.org/spreadsheet/index.html

Commenter la réponse de jordane45
0
Merci
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 .
Commenter la réponse de Reina
Messages postés
1
Date d'inscription
mercredi 9 août 2017
Statut
Membre
Dernière intervention
9 août 2017
0
Merci
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.
Commenter la réponse de Shudjaun