Comment faire pour convertir mes xlsx feuille d'objet java à l'aide d'Apache POI
quelqu'un peut-il me suggérer pour convertir mes xlsx feuille d'objet java à l'aide d'Apache POI.
eq, ma feuille excel contient deux colonnes
- emp_no emp_name
- 01 anand
- 02 kumar
et mon objet java
Employee{
String empNo;
String empName;
}
Maintenant je veux convertir mon fichier excel pour objet java.
J'ai essayé de l'internet, mais la plupart des tutoriels parle de parcourir chaque ligne et assigner des valeurs à chacun des membres du péché de l'objet. Est-il des fonctionnalités comme le Marshaller et UnMarshaller dans JAXB analyseur xml qui convertir directement.
Merci d'avance.
- Merci de lire Comment Demander et améliorer votre question. Si vous n'avez pas essayé quoi que ce soit, ce n'est pas l'endroit pour demander de code.
- salut Jonathan Drapeau, merci de ta réponse en fait j'ai essayé avec beaucoup de tuto , tous les tutoriels sont parle convertir en objet java pour excel, je ne pouvais pas voir sur excel pour objet java, c'est la raison pour laquelle j'ai posé la question ici.
- Avez-vous trouvé la réponse? Je me demande Si vous avez trouvé mappeur ou comment carte pour objet de Apache POI Ligne?
- il y a un cadre qui appelle Poiji à l'aide d'Apache POI en interne
- Cochez cette repo : github.com/millij/poi-object-mapper
Vous devez vous connecter pour publier un commentaire.
Pour le Scénario, je suis en supposant que chaque ligne de la feuille représente un employé de qui dire que la première Colonne est de garder le Numéro d'employé et de la deuxième colonne est de garder Nom de l'Employé. ainsi, vous pouvez utiliser les éléments suivants:
Créer une méthode d'affectation de l'Employé de l'information comme
ou si vous le souhaitez, vous pouvez créer un constructeur pour la même chose.
Maintenant, il vous suffit d'itérer sur chaque ligne pour obtenir de l'information à l'aide de la méthode ci-dessus.
Essayer cette bibliothèque en interne à l'aide d'Apache POI pour la conversion à partir d'excel dans POJO.:
Poji
Je suis l'aide de POI et je suis le téléchargement d'un programme simple. Espérons que cela vous aidera.
Remarque: n'oubliez pas de changer de chemin.
Pots de détails: dom4j-1.6.1.jar, poi-3.9.jar,poi-ooxml-3.9.jar, poi-ooxml-schemas-3.11.jar, xmlbeans-2.6.0.jar
Mes Données dans le Tableau Excel:
Modèle ou Pojo: NewEmployee.java
Méthode Main: ExcelToObject.java
Vous pouvez également envisager d'utiliser cette petite bibliothèque excelorm
De vérifier les ci-dessous des pensions. Il a été développé en gardant la "facilité d'utilisation" dans la tête.
https://github.com/millij/poi-object-mapper
Version initiale a été publié à Maven Central.
Fonctionne de manière similaire à Jackson. Annoter votre bean comme ci-dessous..
Et à lire..
Comme il est, tous les types de données primitifs sont pris en charge. Continue de travailler sur l'ajout de support pour
Date
,Formula
etc..Espère que cette aide.
Viens de trouver deux bibliothèques:
jxls-reader
(mais la configuration est faite entièrement en XML... pouah!!!) http://jxls.sourceforge.net/reference/reader.htmlexcel-object-mapping
celui-ci est d'annotation seulement, mais malheureusement pas vraiment pris en charge par son créateur, par exemple, toujours dans "1.0-SNAPSHORT" ou voir la seule demande de pull https://github.com/jittagornp/excel-object-mapping (Edit: pensions a été supprimé depuis, j'ai trouvé un clone ici: https://github.com/pramoth/excel-object-mapping )En espérant que ça aidera quelqu'un.
J'ai eu le même problème, j'ai été conscient que la mise en œuvre par la norme (Apache POI) pourquoi a coûté beaucoup de temps, donc après recherche et en regardant autour, j'ai trouvé mieux pourquoi (JXLS-Reader)
tout d'abord, utilisez/import/inclure la librairie jxls-lecteur
puis créer un fichier XML utilisé par la bibliothèque pour la correspondance entre les colonnes et le votre les attributs de l'objet, ce XML prendre en paramètre un initialisé liste à remplir par les données extraites de l'Employé (objets) à partir du fichier Excel, dans votre exemple, il ressemblera à :
Puis en Java, initialiser la liste des Employés (où le résultat de l'analyse sera incluse), puis d'appeler le JXLS lecteur par l'entrée de fichier Excel et le fichier XML de mapping, il ressemblera à:
Espère que cela aide quelqu'un ayant un tel problème !