Excel-Datei in Java lesen
Dieser Artikel vermittelt die notwendigen Informationen, um eine Excel-Datei im Java-Programm zu lesen. Welche Software verwenden? Welche Schritte zu befolgen sind und nicht zuletzt, wie die Bibliotheken angewendet werden, damit der Benutzer die Excel-Datei lesen kann. Fangen wir also an.
Lesen Sie eine Excel-Datei in Java
In Java ist das Lesen einer Excel-Datei nicht so einfach wie bei anderen Dateiformaten wie Microsoft Word. Es ist jedoch leicht zu verstehen, warum, da Excel-Tabellen Zellen enthalten.
JDK (Java Development Kit
) erlaubt dem Benutzer nicht, mit Dateien wie Microsoft Excel und Microsoft Word umzugehen. Darüber hinaus stellt es dem Benutzer nicht die erforderliche API zur Verfügung, sodass wir keine andere Wahl haben, als uns auf Bibliotheken von Drittanbietern zu verlassen, um unsere Aufgaben zu erledigen.
Um eine Excel-Datei in Java zu lesen, müssten wir uns mit der Bibliothek APACHE POI
vertraut machen, da sie sowohl für .xls
- als auch für .xlsx
-Formulare funktionieren kann.
Überblick über die APACHE POI
-Bibliothek
Die Bibliothek APACHE POI
, auch bekannt als Poor Obfuscation Implementation, stellt dem Benutzer zwei Implementierungen zur Verfügung. Einer ist HSSF
und der andere ist XSSF
.
HSSF
–HSSF
, Horrible Spread Sheet Format, Implementation bezeichnet den Benutzer mit einer API, die für frühere Versionen von Microsoft Excel funktioniert, genauer gesagt Excel 2003 und früher.XSSF
-XSSF
, XML-Tabellenkalkulationsformat, Implementierung bezeichnet den Benutzer mit einer API, die für spätere Versionen von Microsoft Excel funktioniert. In diesem Fall ist es für Versionen von Excel 2007+. Wir können diese Implementierung auch verwenden, um mit dem.xlsx
-Format zu arbeiten.
Schauen wir uns seine Schnittstellen und Klassen an, um seine Arbeit besser zu verstehen.
Schnittstellen und Klassen
Beachten Sie, dass alle unten genannten Schnittstellen sowohl für HSSF
als auch für XSSF
funktionieren.
-
Arbeitsmappe
- DieArbeitsmappe
ist eine Schnittstelle, die eine Excel-Arbeitsmappe darstellt. Es hat zwei Klassen,HSSFWorkbook
undXSSFWorkbook
. -
sheet
- Wie wir wissen, wird die zentrale Struktur einer Arbeitsmappe als Arbeitsblatt bezeichnet. EinBlatt
ist also eine Schnittstelle, die ein Excel-Arbeitsblatt darstellt.Es ist eine Erweiterung der Bibliothek
java.lang.Iterable
. Die beiden Klassen für diese Schnittstelle sindHSSFSheet
undXSSFSheet
. -
Zeile
- Es ist eine Schnittstelle, die dieZeile
einer Excel-Tabelle darstellt. Auch diese Schnittstelle ist eine Erweiterung der Bibliothekjava.lang.Iterable
. Es hat zwei Klassen,HSSFRow
undXSSFRow
. -
Zelle
- Dies ist eine Schnittstelle, die die Zellen in einerZeile
einer Excel-Tabelle darstellt. Es hat auch zwei Klassen namensHSSFCell
undXSSFCell
.
Schauen wir uns nun die Schritte zum Lesen einer Excel-Datei an, da wir wissen, was die Bibliothek APACHE POI
enthält und welche Schnittstellen und Klassen wir verwenden können.
Schritte zum Lesen einer Excel-Datei in Java
Diese Schritte sind einfach zu befolgen.
-
Erstellen Sie einen
lib
-OrdnerErstellen Sie im Java-Projekt einen Ordner namens
lib
, den der Benutzer zum Öffnen und Lesen der Excel-Datei verwendet. -
Laden Sie
jar
-Dateien herunterDieser Schritt erfordert, dass der Benutzer einige
jar
-Dateien in den im vorherigen Schritt erstelltenlib
-Ordner herunterlädt. Sie müssencommons-collections4-4.1.jar
,poi-3.17.jar
,poi-ooxml-3.17.jar
,poi-ooxml-schemas-3.17.jar
herunterladen undxmlbeans-2.6.0.jar
-
Erstellen Sie einen Pfad, um
jar
-Dateien hinzuzufügenIn diesem Schritt müssen wir den
Pfad
erstellen, um diejar
-Dateien hinzuzufügen, die wir im vorherigen Schritt heruntergeladen haben. Klicken Sie dazu mit der rechten Maustaste auf ein Java-Projekt, das wir in Schritt 1 erstellt haben.Dann erstellen wir unseren
Pfad
für diejar
-Dateien, indem wir auf die OptionPfad erstellen
klicken. Abschließend klicken wir aufÜbernehmen und schließen
, nachdem wir die externenjar
-Dateien hinzugefügt haben. -
Erstellen Sie eine Java-Klasse
Erstellen Sie in diesem Schritt eine Java-Klassendatei, und dann können wir unsere gewünschte Excel-Datei aufrufen, um die Daten zu lesen. Hier ist ein Beispiel für eine Klassendatei, die eine Excel-Datei liest.
In diesem Beispiel wird
XSSF
verwendet, da es Versionen von Excel 2007+ verwendet.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 Example { public static void main(String[] args) { try { File ExcelFile = new File("D:\\your_filename.xlsx"); // obtaining bytes from the file FileInputStream FileStream = new FileInputStream(ExcelFile); // using the Workbook interface XSSFWorkbook ExcelWorkbook = new XSSFWorkbook(FileStream); // using the sheet class to get the object XSSFSheet ExcelSheet = ExcelWorkbook.getSheetAt(0); // iterating over excel file, rows. Iterator<Row> IterateRows = ExcelSheet.iterator(); while (IterateRows.hasNext()) { Row ExcelRow = IterateRows.next(); // iterating over the column Iterator<Cell> IterateCells = ExcelRow.cellIterator(); while (IterateCells.hasNext()) { Cell ExcelCell = IterateCells.next(); switch (ExcelCell.getCellType()) { case Cell.CELL_TYPE_STRING: // represents string cell type System.out.print(ExcelCell.getStringCellValue() + "\t"); break; case Cell.CELL_TYPE_NUMERIC: // represents number cell type System.out.print(ExcelCell.getNumericCellValue() + "\t"); break; default: } } System.out.println(""); } } catch (Exception exp) { exp.printStackTrace(); } } }
Anhand dieses Beispielcodes können wir leicht verstehen, wie die Bibliothek APACHE POI
verwendet wird. Die Ausgabe dieses Beispielcodes sind die Excel-Dateidaten, die der Benutzer bereitstellt.
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn