Excel-Datei in Java lesen

Haider Ali 12 Oktober 2023
  1. Lesen Sie eine Excel-Datei in Java
  2. Überblick über die APACHE POI-Bibliothek
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.

  1. HSSFHSSF, 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.
  2. 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.

  1. Arbeitsmappe - Die Arbeitsmappe ist eine Schnittstelle, die eine Excel-Arbeitsmappe darstellt. Es hat zwei Klassen, HSSFWorkbook und XSSFWorkbook.

  2. sheet - Wie wir wissen, wird die zentrale Struktur einer Arbeitsmappe als Arbeitsblatt bezeichnet. Ein Blatt 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 sind HSSFSheet und XSSFSheet.

  3. Zeile - Es ist eine Schnittstelle, die die Zeile einer Excel-Tabelle darstellt. Auch diese Schnittstelle ist eine Erweiterung der Bibliothek java.lang.Iterable. Es hat zwei Klassen, HSSFRow und XSSFRow.

  4. Zelle - Dies ist eine Schnittstelle, die die Zellen in einer Zeile einer Excel-Tabelle darstellt. Es hat auch zwei Klassen namens HSSFCell und XSSFCell.

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-Ordner

    Erstellen Sie im Java-Projekt einen Ordner namens lib, den der Benutzer zum Öffnen und Lesen der Excel-Datei verwendet.

  • Laden Sie jar-Dateien herunter

    Dieser Schritt erfordert, dass der Benutzer einige jar-Dateien in den im vorherigen Schritt erstellten lib-Ordner herunterlädt. Sie müssen commons-collections4-4.1.jar, poi-3.17.jar, poi-ooxml-3.17.jar, poi-ooxml-schemas-3.17.jar herunterladen und xmlbeans-2.6.0.jar

  • Erstellen Sie einen Pfad, um jar-Dateien hinzuzufügen

    In diesem Schritt müssen wir den Pfad erstellen, um die jar-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 die jar-Dateien, indem wir auf die Option Pfad erstellen klicken. Abschließend klicken wir auf Übernehmen und schließen, nachdem wir die externen jar-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.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

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

Verwandter Artikel - Java Excel