Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Microsoft Excel Workbook est un logiciel basé sur un tableur qui permet à ses utilisateurs d'organiser et de stocker des données de manière efficace. Il stocke et organise les données sous forme de tableaux, c'est-à-dire en utilisant des lignes et des colonnes. La cellule d'une feuille de calcul Excel est la boîte qui contient les données et qui peut être manipulée à l'aide de différents styles, formatages et formules.
La lecture d'un fichier Excel peut parfois s'avérer compliquée. La lecture de fichiers Excel dans Java est également un peu différente de la lecture de fichiers Word dans Java en raison des cellules d'Excel. Le JDK ne fournit pas d'API directe pour lire ou écrire des documents Microsoft Excel. Au lieu de cela, nous devons nous appuyer sur la bibliothèque tierce Apache POI.
POI signifie "Poor Obfuscation Implementation" (mauvaise mise en œuvre de l'obscurcissement) Apache POI est une bibliothèque Java open-source conçue pour lire et écrire des documents Microsoft. Il permet de créer et de manipuler divers formats de fichiers basés sur Microsoft Office. Apache POI permet de créer, de modifier et d'afficher/de lire des opérations sur une série de formats de fichiers Microsoft Office.
Pour commencer, nous allons télécharger la dernière version des JARs POI. Naviguez jusqu'à http://poi.apache.org/download.html et téléchargez le dernier fichier ZIP, qui contiendra l'API Java pour lire un fichier Excel en Java.
Lorsque vous téléchargez le fichier ZIP, vous devez le décompresser et ajouter les fichiers JAR suivants au chemin de classe de votre projet. Ceci est expliqué dans la section Lecture d'un fichier Excel ci-dessous.
Note: Copiez également les fichiers de lib et ooxml-lib avec les autres fichiers.
Les classes supportées par les formats de fichiers XLS et XLSX qui peuvent être utilisées sont les suivantes :
Voici une liste des différentes interfaces et classes Java de POI permettant de lire les fichiers XLS et XLSX en Java :
L'interface Workbook est implémentée par les classes HSSFWorkbook
et XSSFWorkbook
.
XSSFWorkbook : Il s'agit d'une représentation de classe du fichier XLSX.
L'interface Sheet est implémentée par les classes HSSFSheet
et XSSFSheet
.
XSSFSheet : Il s'agit d'une classe représentant une feuille dans un fichier XLSX.
L'interface Row est mise en œuvre par les classes HSSFRow
et XSSFRow
.
XSSFRow : Il s'agit d'une classe représentant une ligne dans la feuille d'un fichier XLSX.
L'interface Cellule est implémentée par les classes HSSFCell
et XSSFCell
.
Pour notre exemple, nous lirons le fichier Excel suivant en Java :
Créez un projet Java en utilisant n'importe quel IDE Java. Nous utiliserons Netbeans pour ce projet.
Ensuite, créez un dossier lib dans le projet.
Ensuite, ajoutez les fichiers JAR téléchargés au dossier lib créé à l'étape précédente.
Définissez le Class-Path
en faisant un clic droit sur le dossier Project > Build Path > Add External JARs files > sélectionnez tous les fichiers JAR ci-dessus > Apply and close.
Créons maintenant un fichier de classe portant le nom ReadExcelFileDemo.
Créez un fichier Excel nommé "studentdata.xls" et inscrivez-y les données ci-dessus ou toute autre donnée.
Vous trouverez ci-dessous un exemple de code pour la lecture de fichiers Excel en Java :
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
public class ReadExcelFileDemo {
public static void main(String args []) throws IOException {
//obtaining input bytes from a file
FileInputStream fis=new FileInputStream(new File("C:\\demo\\studentdata.xls"));
//creating workbook instance that refers to .xls file
HSSFWorkbook wb=new HSSFWorkbook(fis);
//creating a Sheet object to retrieve the object
HSSFSheet sheet=wb.getSheetAt(0);
//evaluating cell type
FormulaEvaluator formulaEvaluator=wb.getCreationHelper().createFormulaEvaluator();
for(Row row: sheet) {
for(Cell cell: row) {
switch(formulaEvaluator.evaluateInCell(cell).getCellType()) {
case Cell.CELL_TYPE_NUMERIC: //field that represents numeric cell type
//getting the value of the cell as a number
System.out.print(cell.getNumericCellValue()+ "\t\t");
break;
case Cell.CELL_TYPE_STRING: //field that represents string cell type
//getting the value of the cell as a string
System.out.print(cell.getStringCellValue()+ "\t\t");
break;
}
}
System.out.println();
}
}
}
Output:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
Les étapes sont les mêmes pour la lecture des fichiers xlsx, à l'exception des deux points principaux ci-dessous :
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class XLSXReaderExample {
public static void main(String [] args) {
try {
File file = new File("C:\\demo\\studentdata.xlsx");
FileInputStream fis = new FileInputStream(file);
//creating Workbook instance that refers to .xlsx file
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = wb.getSheetAt(0);
Iterator<Row> itr = sheet.iterator();
while (itr.hasNext()) {
Row row = itr.next();
Iterator<Cell> cellIterator = row.cellIterator(); //iterating over each column
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC: //field that represents numeric cell type
//getting the value of the cell as a number
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING: //field that represents string cell type
//getting the value of the cell as a string
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println("");
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
Output:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
IronXL est une bibliothèque .NET autonome qui facilite la lecture et l'édition de documents Microsoft Excel avec C#. Il ne nécessite pas l'installation de Microsoft Excel et ne dépend pas d'Interop.
Grâce à IronXL, les développeurs peuvent effectuer tous les calculs liés à Excel sans effort, en écrivant simplement quelques lignes de code et en bénéficiant de performances rapides. Il peut s'agir de tâches telles que l'ajout de deux cellules, le calcul du total général d'une colonne, l'ajout d'une colonne entière à un tableau Excel, l'ajout d'une ligne entière à un tableau Excel, les sommations de colonnes à une ou plusieurs lignes, ou de nombreuses autres tâches facilitées par le logiciel IronXLcaractéristiques utiles.
IronXL prend complètement en charge le Framework .NET, .NET Core, Mobile, Xamarin, Azure Linux et MacOS.
System.Data
- travailler avec des feuilles de calcul Excel en tant qu'objets System.Data.DataSet
et System.Data.DataTable
.Style - styles visuels, police et taille de police, motif d'arrière-plan, bordure, alignement et formats de chiffres.
Voici un exemple de code de lecture d'un fichier Excel en C# à l'aide d'IronXL :
using IronXL;
using System.Linq;
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:A10"]) {
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
using IronXL;
using System.Linq;
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:A10"]) {
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
Imports IronXL
Imports System.Linq
'Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.WorkSheets.First()
'Select cells easily in Excel notation and return the calculated value
Private cellValue As Integer = sheet ("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In sheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
Travailler avec IronXL facilite grandement le travail des développeurs. Son code simple et facile à utiliser rend le logiciel moins sujet aux bogues lorsqu'il travaille avec des fichiers Excel.
Télécharger IronXL et utilisez-le dans vos projets dès aujourd'hui.
9 produits de l'API .NET pour vos documents de bureau