Est-il possible de lire les fichiers .xls et .xlsx à l'aide d'Apache POI?
J'ai besoin de créer une méthode qui peut lire les deux formats xls et xlsx fichiers. Selon mes recherches, HSSF est utilisé pour lire xls et XSSF: lire xlsx. Est-il une partie de l'Apache POI que je peux utiliser pour lire les deux fichiers? Je suis aussi tombée sur la ss.usermodel mais pas trouvé suffisamment de codes qui raviront à la fois aux formats xls et xlsx....
source d'informationauteur TOMAS DEL CASTILLO
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas eu beaucoup d'exp avec Apache POI, mais autant que je sache, si vous vous référez à un classeur en classe "Classeur", puis vous pouvez lire et écrire à la fois xls & xlsx.
Tout ce que vous avez à faire est lors de la création d'objet d'écriture
pour .xls-
pour .xlsx-
vous pouvez passer un paramètre pour le type de fichier et de créer le Classeur en utilisant Si l'instruction.
Oui, il y a un nouvel ensemble d'interfaces fournies par le PVE que le travail avec les deux types.
Utiliser le WorkbookFactory.méthode create() pour obtenir un Classeur: http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/WorkbookFactory.html
Vous pouvez vérifier les fichiers excel sans compter sur les extensions de fichier (qui ne sont pas fiables - de nombreux fichiers csv ont xls extensions par exemple, mais ne peut pas être analysé par PI) à l'aide de l'suivantes:
vous pouvez lire à l'aide de poi-ooxml et poi-ooxml-schéma de pots fournis par apache.
et l'utilisation de code ci-dessous:--
le code ci-dessus va lire les deux formats xls et xlsx fichiers
Merci à Tom de répondre juste à ajouter, utilisez foll. le code pour obtenir inputstream d'autre que nous peut faire face à
Exception in thread "main" java.io.IOException: mark/reset not supported
une option serait de vérifier le nom du fichier à lastIndexOf pour . et voir si il est .xls ou xlsx et ensuite utiliser une condition if pour passer en conséquence.
été un long temps depuis que j'ai travaillé sur un pi, mais je pense que les attributs sont comme HSSF pour .xls et XSSF pour .xlsx
reportez-vous http://poi.apache.org/ site, dernière ligne sous la rubrique
Pourquoi devrais-je utiliser Apache POI?
Vous pouvez utiliser
Il semble que vous êtes à la recherche d'un moyen d'abstraire le processus de lecture, vous dites qu'il n'a pas d'importance si ses XLS ou XLSX, vous voulez que votre code fonctionne sans modification.
Je vous recommande de regarder Apache Tikac'est une impressionnante bibliothèque de résumés de lecture du fichier et le contenu de l'analyse, il utilise POI et de nombreuses autres bibliothèques et dispose d'une belle abstraction de tous.
la lecture d'un PDF/XLS/XLSX est similaire à la lecture d'un fichier texte, tout le travail est fait derrière la scène.
lire cette pour plus. http://www.searchworkings.org/blog/-/blogs/introduction-to-apache-tika