Bonjour,
j'utilise JExcelApi pour travailler en Java avec des fichiers Excel et j'ai un petit souci:
je voudrais sélectionner la dernière ligne contenant des cellules non vides. La fonction Sheet.getRows(), qui est censée me retourner le nombre de lignes de la feuille, me renvoie un nombre trop grand.
Si j'ouvre mon fichier et que je fais un CTRL+end, je constate qu'effectivement la fin de la feuille se trouve après quelques lignes vides.
J'ai donc créé une petite routine qui inspecte les cellules ligne par ligne depuis la fin de la feuille et qui décrémente le nombre total de lignes tant qu'il n'en trouve pas une contenant une valeur:
boolean isLastRow = false;
int colLength = sheet.getRows();
do {
Cell [] lastRow = sheet.getRow(colLength-1);
Cell tmpCell = lastRow[0];
for (int i=0; i<lastRow.length && !isLastRow; i++, colLength--) {
if ((lastRow[i].toString() != "") && (lastRow[i].toString() != " ")){
isLastRow = true;
}
}
if(!isLastRow) {
colLength--;
}
} while (!isLastRow && colLength >=0);
colLength est donc censée me donner le nombre "réel" de lignes (sans les lignes blanches de fin). Mais elle me donne toujours un nombre trop grand.
Avez-vous une idée pour résoudre mon problème?
Merci beaucoup beaucoup beaucoup beaucoup