Comment tirer le maximum pas. des colonnes remplies dans un fichier XLSX à l'aide de POI?
Je sais que nous pouvons obtenir le nombre maximum de colonnes par itération sur toutes les lignes et en appelant getLastCellNumber
sur chaque ligne d'objet.. mais cette approche nécessite de parcourir toutes les lignes que je veux éviter car il faudra beaucoup de temps pour des fichiers avec des millions de lignes(c'est le genre de fichiers, je m'attends à lire).
Lorsque POI lit un fichier excel, il stocke les dimensions de la feuille (le premier numéro de ligne, le dernier numéro de ligne , premier col nombre, dernier col nombre) dans un objet de la DimensionsRecord
classe. Donc, si je reçois cet objet je vais obtenir ce dont j'ai besoin. Ces objets peuvent être obtenus à partir de la classe de la Feuille qui est intérieure de la catégorie de POI. J'ai été en mesure d'extraire ce dont j'ai besoin pour les fichiers XLS, mais j'ai frappé un barrage routier pour les fichiers XLSX.
Ne POI maintenir DimensionsRecord
objet pour XLSX aussi?, si oui quelqu'un a essayé de l'extraire? Ou Est-il un autre par lequel il peut être fait?? s'il vous plaît aider!
Aussi je voulais vous demander, si ma démarche est bonne ou pas, je.e je suis à l'aide de l'intérieur des catégories de POI (c'est de faire mon travail), est-ce correct ou dois-je compter uniquement sur les Api exposées (trop de temps).
OriginalL'auteur rirhs | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
Il y a une dimension de l'objet sur XSSF Feuilles de trop. Essayez:
La question qui vient à l'esprit est que je ne suis pas sûr si c'est nécessaire pour la dimension (CTDimensions ou DimensionsRecord) d'être toujours correct...
Excel certainement doit tenir les dossiers à jour, mais je ne suis pas sûr si d'autres programmes ne. Voir en ligne 387 de hssf.de modèle.InternalSheet pour tous les commentaires à ce sujet de ne pas être toujours là / en cours de mise à jour. Pour obtenir un DimensionsRecord, vous aurez envie de prendre les dossiers au large de la InternalSheet.
J'ai vérifié le code source interne de la feuille (pi lib 3.7 ) , suivez ce lien grepcode.com/file/repo1.maven.org/maven2/org.apache.poi/poi/3.7/... ici, au-dessus de la ligne 531 commentaires stipule que l'enregistrement de la dimension est définie correctement.
POI définit, mais il est d'autres programmes (Rapports Crystal, Perl, etc) qui peuvent très bien ne pas
OriginalL'auteur Gagravarr