[POI] Comment Lire le contenu des cellules Excel avec Java
Bonjour à tout le monde,
Je suis sur un projet, dans le quel je veux importer le contenu des feuilles Excel dans des tables d'une base des données.
Après plusieurs recherches et étude de tuto, j'ai choisi l'API apache-poi.
Je rencontre des problèmes quand je veux lire une à une les cellules pour les stocker dans des variables. Pour la première cellule, ça marche, mais après une erreur est générée.
Voici une partie de mon code et l'erreur.
Une partie de mon code
Code:
1 2 3 4 5 6 7 8
|
for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();) {
row = (HSSFRow) rowIt.next();
if(row.getRowNum()!=0){ // en-tête du tableau
for (Iterator cellIt = row.cellIterator(); cellIt.hasNext();) {
cell = (HSSFCell) cellIt.next();
film.setFilm_id((int)cell.getNumericCellValue());
film.setTitre(cell.getStringCellValue()); |
Au niveau de la dernière ligne, où je récupère du String, l'erreur apparaît
NB : le titre est dans la cellule suivante à droite.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
mars 21, 2017 3:21:24 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet ImportFilm a généré une exception
java.lang.IllegalStateException: Cannot get a text value from a numeric cell
at org.apache.poi.hssf.usermodel.HSSFCell.typeMismatch(HSSFCell.java:643)
at org.apache.poi.hssf.usermodel.HSSFCell.getRichStringCellValue(HSSFCell.java:720)
at beans.Film.importer(Film.java:93)
at servlets.SImport.doPost(SImport.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292
...... |
Aidez-moi, s'il vous plait.
Merci d'avance.