Je veux lire et écrire un fichier Excel à partir de Java avec 3 colonnes et N lignes, en imprimant une chaîne dans chaque cellule. Quelqu'un peut-il me donner un simple extrait de code pour cela? Dois-je utiliser une bibliothèque externe ou Java en a-t-il une prise en charge intégrée?
Je veux faire ce qui suit:
for(i=0; i <rows; i++)
//read [i,col1] ,[i,col2], [i,col3]
for(i=0; i<rows; i++)
//write [i,col1], [i,col2], [i,col3]
ExcelCell.getValue()
chacune. Par exemple, voir cet exemple de lecture , également pour l'écriture, vous pouvez vérifier cet exemple.Réponses:
Essayez l' Apache POI HSSF . Voici un exemple sur la façon de lire un fichier Excel:
Sur la page de documentation, vous avez également des exemples d'écriture dans des fichiers Excel.
la source
HSSFSheet
lagetPhysicalNumberOfRows()
méthode de s semblait renvoyer le nombre de lignes non vides (ce n'était pas évident pour moi que c'était ce que «physique» signifiait). Donc, si votre fichier Excel contient beaucoup de lignes vides (c'est-à-dire pour des raisons de formatage), vous aurez peut-être plus de chance d'utiliserrows = sheet.getLastRowNum();
. Cela devrait également signifier que vous pouvez supprimer l'astuce (voir commentaire) de la première boucle:for(int i = 0; i <= rows; i++) {
(notez le changement de<
à<=
).Apache POI peut le faire pour vous. Plus précisément le module HSSF . Le guide rapide est le plus utile. Voici comment faire ce que vous voulez - créer spécifiquement une feuille et l'écrire.
la source
Ajoutez d'abord tous ces fichiers jar dans le chemin de classe de votre projet:
Code pour écrire dans un fichier Excel:
Code de lecture à partir d'un fichier Excel
la source
Vous pouvez également envisager JExcelApi . Je le trouve mieux conçu que POI. Il y a un tutoriel ici .
la source
Il y a un nouvel outil facile et très cool (10x à Kfir): xcelite
Écrire:
Lis:
la source
Pour lire un fichier xlsx, nous pouvons utiliser les librairies Apache POI Essayez ceci:
la source
.csv ou POI le feront certainement, mais vous devez être conscient du JExcel d'Andy Khan . Je pense que c'est de loin la meilleure bibliothèque Java pour travailler avec Excel.
la source
et assurez-vous d'avoir ajouté les jars poi et poi-ooxml (org.apache.poi) à votre projet
la source
Un simple fichier CSV devrait suffire
la source
Pour lire les données des classeurs .xlsx, nous devons utiliser les classes XSSFworkbook.
XSSFWorkbook xlsxBook = new XSSFWorkbook(fis);
XSSFSheet sheet = xlsxBook.getSheetAt(0);
etc.Nous devons utiliser Apache-poi 3.9 @ http://poi.apache.org/
Pour des informations détaillées avec un exemple, visitez: http://java-recent.blogspot.in
la source
Bien sûr, vous trouverez le code ci-dessous utile et facile à lire et à écrire. Il s'agit d'une
util
classe que vous pouvez utiliser dans votre méthode principale et vous pouvez utiliser toutes les méthodes ci-dessous.la source
en utilisant Spring Apache Poi Repo
la source
J'ai édité un peu le plus voté car il ne comptait pas totalement les colonnes ou les lignes vides, alors voici mon code, je l'ai testé et je peux maintenant obtenir n'importe quelle cellule dans n'importe quelle partie d'un fichier Excel. aussi maintenant vous pouvez avoir des colonnes vides entre la colonne remplie et il les lira
la source
Si le numéro de colonne varie, vous pouvez utiliser ceci
La mavendépendance correspondante peut être trouvée ici
la source
Vous avez besoin de la bibliothèque de POI Apache et ce code ci-dessous devrait vous aider
la source
Une autre façon de lire / écrire des fichiers Excel consiste à utiliser Windmill . Il fournit une API fluide pour traiter les fichiers Excel et CSV.
Importer des données
Exporter des données
la source
Vous ne pouvez pas lire et écrire le même fichier en parallèle ( verrou en lecture-écriture ). Mais, nous pouvons faire des opérations parallèles sur des données temporaires (ie flux d'entrée / sortie). N'écrivez les données dans le fichier qu'après la fermeture du flux d'entrée. Les étapes ci-dessous doivent être suivies.
Apache POI - lecture / écriture du même exemple Excel
la source
Veuillez utiliser les librairies Apache POI et essayez ceci.
la source
Lors de l'utilisation de l'apache poi 4.1.2. Le type de cellule change un peu. Ci-dessous un exemple
la source
Si vous avez besoin de faire autre chose avec des documents bureautiques en Java, optez pour POI comme mentionné.
Pour la lecture / écriture simple d'un document Excel comme vous l'avez demandé, vous pouvez utiliser le format CSV (également comme mentionné):
la source
Cela écrira un JTable dans un fichier séparé par des tabulations qui peut être facilement importé dans Excel. Cela marche.
Si vous enregistrez une feuille de calcul Excel en tant que document XML, vous pouvez également créer le fichier XML pour EXCEL avec du code. J'ai fait cela avec Word afin que vous n'ayez pas à utiliser de packages tiers.
Cela pourrait coder avoir le JTable retiré, puis simplement écrire une tabulation séparée dans n'importe quel fichier texte, puis importer dans Excel. J'espère que ça aide.
Code:
la source