Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Microsoft Excel Workbook ist eine auf Tabellenkalkulationen basierende Software, die es ihren Benutzern ermöglicht, Daten auf effiziente Weise zu organisieren und zu speichern. Es speichert und organisiert die Daten in tabellarischer Form, d.h. mit Zeilen und Spalten. Die Zelle in einer Excel-Tabelle ist ein Feld, das Daten enthält und mit verschiedenen Stilen, Formatierungen und Formeln bearbeitet werden kann.
Das Lesen einer Excel-Datei kann mitunter kompliziert sein. Das Lesen von Excel-Dateien in Java unterscheidet sich auch ein wenig vom Lesen von Word-Dateien in Java, weil Excel Zellen hat. Das JDK bietet keine direkte API zum Lesen oder Schreiben von Microsoft Excel-Dokumenten. Stattdessen müssen wir uns auf die Drittanbieter-Bibliothek Apache POI verlassen.
POI steht für "Poor Obfuscation Implementation" Apache POI ist eine quelloffene Java-Bibliothek, die zum Lesen und Schreiben von Microsoft-Dokumenten entwickelt wurde. Es bietet eine Möglichkeit, verschiedene Dateiformate auf der Grundlage von Microsoft Office zu erstellen und zu manipulieren. Mit Apache POI sollte man in der Lage sein, eine Reihe von Microsoft Office-Dateiformaten zu erstellen, zu ändern und anzuzeigen/zu lesen.
Zu Beginn laden wir die neueste Version der POI-JARs herunter. Navigieren Sie zu http://poi.apache.org/download.html und laden Sie die neueste ZIP-Datei herunter, die die Java-API zum Lesen einer Excel-Datei in Java enthält.
Wenn Sie die ZIP-Datei herunterladen, müssen Sie sie entpacken und die folgenden JAR-Dateien zum Klassenpfad Ihres Projekts hinzufügen. Dies wird im folgenden Abschnitt Lesen aus einer Excel-Datei erläutert.
Hinweis: Kopieren Sie auch die Dateien von lib und ooxml-lib zusammen mit den anderen Dateien.
Im Folgenden sind die unterstützten Klassen für die Dateiformate XLS und XLSX aufgeführt, die verwendet werden können:
Im Folgenden finden Sie eine Liste der verschiedenen Java-Schnittstellen und -Klassen in POI zum Lesen von XLS- und XLSX-Dateien in Java:
Die Workbook-Schnittstelle wird von den Klassen HSSFWorkbook
und XSSFWorkbook
implementiert.
XSSFWorkbook: Dies ist eine Klassendarstellung der XLSX-Datei.
Die Sheet-Schnittstelle wird von den Klassen "HSSFSheet" und "XSSFSheet" implementiert.
XSSFSheet: Dies ist eine Klasse, die ein Blatt in einer XLSX-Datei darstellt.
Die Schnittstelle Row wird von den Klassen "HSSFRow" und "XSSFRow" implementiert.
XSSFRow: Dies ist eine Klasse, die eine Zeile in einem Blatt einer XLSX-Datei darstellt.
Die Zellschnittstelle wird von den Klassen "HSSFCell" und "XSSFCell" implementiert.
Für unser Beispiel werden wir die folgende Excel-Datei in Java lesen:
Erstellen Sie ein Java-Projekt mit einer beliebigen Java-IDE. Wir werden Netbeans für dieses Projekt verwenden.
Als Nächstes erstellen Sie einen lib-Ordner im Projekt.
Fügen Sie dann die heruntergeladenen JAR-Dateien zu dem im vorherigen Schritt erstellten lib-Ordner hinzu.
Legen Sie den "Class-Path" fest, indem Sie mit der rechten Maustaste auf den Projektordner klicken > Build Path > Add External JARs files > wählen Sie alle oben genannten JAR-Dateien aus > Apply and close.
Lassen Sie uns nun eine Klassendatei mit dem Namen ReadExcelFileDemo erstellen.
Erstellen Sie eine Excel-Datei mit dem Namen "studentdata.xls" und schreiben Sie die oben genannten Daten oder beliebige Daten hinein.
Im Folgenden finden Sie ein Codebeispiel für das Lesen von Excel-Dateien in 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();
}
}
}
Ausgang:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
Die Schritte sind die gleichen wie beim Lesen von xlsx-Dateien, mit Ausnahme der beiden folgenden Hauptpunkte:
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();
}
}
}
Ausgang:
IdNames
1Zeeshan
2Shoaib
3Umar
4Rizwan
5Ahsan
IronXL ist eine eigenständige .NET-Bibliothek, die das Lesen und Bearbeiten von Microsoft Excel-Dokumenten mit C# erleichtert. Es erfordert weder, dass Microsoft Excel installiert ist, noch ist es von Interop abhängig.
Mit IronXL können Entwickler alle Excel-bezogenen Berechnungen mühelos durchführen, indem sie einfach ein paar Zeilen Code schreiben, und das mit schneller Leistung. Dies kann für Aufgaben wie das Hinzufügen von zwei Zellen, das Berechnen der Gesamtsumme einer Spalte, das Hinzufügen einer ganzen Spalte zu einer Excel-Tabelle, das Hinzufügen einer ganzen Zeile zu einer Excel-Tabelle, ein- und mehrzeilige Spaltensummen oder viele andere Aufgaben sein, die durch IronXLs hilfreiche Funktionen.
IronXL unterstützt vollständig das .NET-Framework, .NET Core, Mobile, Xamarin, Azure Linux und MacOS.
Gestaltung - visuelle Stile, Schriftart und Schriftgröße, Hintergrundmuster, Rahmen, Ausrichtung und Zahlenformate.
Nachfolgend finden Sie ein Codebeispiel für das Lesen einer Excel-Datei in C# mit 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
Die Arbeit mit IronXL macht die Arbeit eines Entwicklers viel einfacher. Durch den einfachen und benutzerfreundlichen Code ist die Software bei der Arbeit mit Excel-Dateien weniger fehleranfällig.
IronXL herunterladen und verwenden Sie es noch heute für Ihre Projekte.
9 .NET API-Produkte für Ihre Bürodokumente