derniere ligne d'une feuille excel
Forum Programmation : derniere ligne d'une feuille excel
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
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:
Code :
|
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
décrémenter encore une fois colLength de 1.
Je ne connais pas ton système, ni le fonctionnement, mais si ça fonctionne comme un tableau, la première ligne est indicée 0, donc ton indice final est colLength-1.
Ouioui ça je sais, j'en tiens déjà compte. L'erreur ne vient pas de là.
Merci quand-même.
Quelqu'un a une autre idée? Je ne dois sûrement pas être la première à avoir eu ce problème...
Merci
peux tu déterminer l'écart entre le nombre réel de lignes et celui retourné par ta fonction?
Et question stupide: est-ce qu'une row convertie en string donne bien "" ou " " si elle est vide? Ne devrais-tu pas plutôt chercher une cellule?
Si je le savais mon problème serait résolu :-D
Je convertis et teste chaque cellule, regarde bien le code.
Je boucle (while) sur le nombre de rows à partir de la fin et sur le nombre de cellules dans chaque row (for) pour vérifier leur contenu.
au passage, le "Cell tmpCell = lastRow[0];" est en trop, il ne sert à rien, et je me suis rendue compte qu'il ne faut pas utiliser toString() mais getContents().
Mais cela ne change absolument rien à mon problème.
Youhouuu j'ai trouvé!
Le test correct à effectuer est:
Code :
|
Merci pour votre aide
bravo
garde ça au chaud, ça peut resservir
Il y a 1724 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
