Detaillierte Erläuterung der grundlegenden Verwendung von Apache POI

Detaillierte Erläuterung der grundlegenden Verwendung von Apache POI

Grundlegende Einführung

Interessante Orte

  • Apache POI ist eine kostenlose, plattformübergreifende, quelloffene Java-API, die in Java geschrieben wurde. Apache POI bietet Java-Programmen eine API zum Lesen und Schreiben von Dateien im Microsoft Office-Format.
  • Die am häufigsten verwendete Methode ist die Verwendung von POI zum Bearbeiten von Excel-Dateien.
  • Es kann auch andere Formen von Dokumenten wie Word bedienen

jxl: Spezialisiert auf Excel-Operationen, speziell zum Bedienen von Excel verwendet

Um POI zu verwenden, müssen Sie Maven-Koordinaten importieren

<Abhängigkeit>
  <groupId>org.apache.poi</groupId>
  <artifactId>Sonderziel</artifactId>
  <version>3.14</version>
</Abhängigkeit>
<Abhängigkeit>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.14</version>
</Abhängigkeit>

POI-Struktur: Beim Arbeiten mit unterschiedlichen Dokumentformaten werden entsprechende Klassen bereitgestellt

HSSF - Bietet die Möglichkeit zum Lesen und Schreiben von Dateien im Microsoft Excel-XLS-Format
XSSF – bietet die Möglichkeit, Dateien im Microsoft Excel OOXML XLSX-Format zu lesen und zu schreiben
HWPF – bietet die Möglichkeit, Dateien im Microsoft Word-DOC-Format zu lesen und zu schreiben
HSLF - Bietet die Möglichkeit, Dateien im Microsoft PowerPoint-Format zu lesen und zu schreiben
HDGF - Bietet die Möglichkeit, Dateien im Microsoft Visio-Format zu lesen
HPBF - Bietet die Möglichkeit, Dateien im Microsoft Publisher-Format zu lesen
HSMF - Bietet die Möglichkeit, Dateien im Microsoft Outlook-Format zu lesen

Erste Schritte-Test (Daten aus Excel-Dateien lesen)

Mit POI können Sie Daten aus einer vorhandenen Excel-Datei lesen

Schritt 1: Maven-Koordinaten importieren

Hier ist der zweite Schritt

Schritt 2: Erstellen Sie eine Excel-Datei

Bildbeschreibung hier einfügen

Schritt 3: Testcode schreiben

Paket com.yy.test;

importiere org.apache.poi.ss.usermodel.Cell;
importiere org.apache.poi.ss.usermodel.Row;
importiere org.apache.poi.xssf.usermodel.XSSFSheet;
importiere org.apache.poi.xssf.usermodel.XSSFWorkbook;
importiere org.junit.Test;

importiere java.io.File;
importiere java.io.FileInputStream;

/**
 * @Autor Marston
 * @Datum 29.10.2021
 */
öffentliche Klasse POITest {
    @Prüfen
    public void test() wirft Exception {
        // Übergeben Sie einen Eingabestream, laden Sie die angegebene Datei und erstellen Sie ein Excel-Objekt (Arbeitsmappe).
        XSSFWorkbook Excel = neues XSSFWorkbook (neues FileInputStream (neue Datei ("E:\\testNomal\\poi.xlsx")));
        //Erste Blattregisterkarte in der Excel-Datei lesen XSSFSheet sheet = excel.getSheetAt(0);
        //Eine Tabellenseite enthält viele Zeilen. Durchlaufen Sie die Tabellenregisterkarte und holen Sie sich alle Datenzeilen für (Zeile: Tabellenblatt) {
            //Durchlaufe die Zeilen und hole jedes Zellenobjekt für (Zelle Zelle : Zeile) {
                //Zelle stellt das Zellenobjekt dar System.out.println(cell.getStringCellValue()); //getStringCellValue Die zweite Spalte ist ein numerischer Wert und kann nicht in einen String-Typ konvertiert werden, daher wird ein Fehler gemeldet //Ändern Sie einfach den Inhalt der zweiten Spalte in der Excel-Tabelle in einen String-Typ. }
        }
        //Excel-Datei schließenexcel.close();
    }
}

Laufergebnisse:

Bildbeschreibung hier einfügen

Da dies ein Einführungsfall ist, ändere ich den Typ wie folgt und modifiziere den Inhalt der Excel-Datei:

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Codebeschreibung und Erweiterung

Aus dem obigen Einführungsfall können wir ersehen, dass POI mehrere Kernobjekte für die Bedienung von Excel-Tabellen kapselt:

XSSFWorkbook: Arbeitsmappe
XSSFSheet: Arbeitsblatt
Reihe: Reihe
Zelle: Zelle

Im obigen Fall wird das Arbeitsblatt durchlaufen, um die Zeilen zu erhalten, die Zeilen durchlaufen, um die Zellen zu erhalten, und schließlich die Werte in den Zellen abgerufen.

Eine andere Möglichkeit besteht darin, die letzte Zeilennummer des Arbeitsblatts abzurufen, dann das Zeilenobjekt entsprechend der Zeilennummer abzurufen, den letzten Zellenindex durch die Zeile abzurufen und dann für jede Zeile entsprechend dem Zellenindex ein Zellenobjekt abzurufen. Der Code lautet wie folgt:

Paket com.yy.test;

importiere org.apache.poi.ss.usermodel.Cell;
importiere org.apache.poi.ss.usermodel.Row;
importiere org.apache.poi.xssf.usermodel.XSSFRow;
importiere org.apache.poi.xssf.usermodel.XSSFSheet;
importiere org.apache.poi.xssf.usermodel.XSSFWorkbook;
importiere org.junit.Test;

importiere java.io.File;
importiere java.io.FileInputStream;

/**
 * @Autor Marston
 * @Datum 29.10.2021
 */
öffentliche Klasse POITest {
    @Prüfen
    public void test2() wirft Exception {
        // Übergeben Sie einen Eingabestream, laden Sie die angegebene Datei und erstellen Sie ein Excel-Objekt (Arbeitsmappe).
        XSSFWorkbook Excel = neues XSSFWorkbook (neues FileInputStream (neue Datei ("E:\\testNomal\\poi.xlsx")));
        //Erste Blattregisterkarte in der Excel-Datei lesen XSSFSheet sheet = excel.getSheetAt(0);
        //Holen Sie sich die Zeilennummer der letzten Zeile des aktuellen Arbeitsblatts. Die Zeilennummer beginnt bei 0 int lastRowNum = sheet.getLastRowNum();
        System.out.println("letzteZeilennummer: "+letzteZeilennummer);
        für(int i=0;i<=letzteZeilennummer;i++){
            //Jede Zeile entsprechend der Zeilennummer abrufen XSSFRow row = sheet.getRow(i);
            //Letzten Zellenindex der aktuellen Zeile abrufen short lastCellNum = row.getLastCellNum();
            System.out.println("letzteZellennummer: "+letzteZellennummer);
            für(kurz j=0;j<letzteZellennummer;j++){
                //Zelleninhalt basierend auf dem Zellenindex abrufen String value = row.getCell(j).getStringCellValue();
                System.out.println(Wert);
            }
        }
        //Excel-Datei schließenexcel.close();
    }
}

Bildbeschreibung hier einfügen

Erste Schritte-Test (Daten in Excel-Datei schreiben)

Testcode:

// Verwenden Sie POI, um Daten in die Excel-Datei zu schreiben, und speichern Sie die erstellte Excel-Datei über den Ausgabestream auf der lokalen Festplatte // @Test
    public void test3() wirft Exception{
        //Erstellen Sie eine Excel-Datei (Arbeitsmappe) im Speicher
        XSSFWorkbook Excel = neues XSSFWorkbook();
        //Erstellen Sie ein Arbeitsblattobjekt mit dem Namen: POI write test XSSFSheet sheet = excel.createSheet("POI write test");
        //Zeilenobjekte im Arbeitsblatt erstellen und XSSFRow in der ersten Zeile erstellen title = sheet.createRow(0);
        //Erstelle ein Zellobjekt in der Zeile title.createCell(0).setCellValue("Name"); //Inhalt der ersten Spalte title.createCell(1).setCellValue("Adresse");
        title.createCell(2).setCellValue("Alter");

		//XSSFRow in der zweiten Zeile erstellen dataRow = sheet.createRow(1);
        dataRow.createCell(0).setCellValue("Xiao Ming");
        dataRow.createCell(1).setCellValue("Peking");
        dataRow.createCell(2).setCellValue("20");

        //Erstellen Sie einen Ausgabestream und schreiben Sie die Excel-Datei im Speicher über den Ausgabestream FileOutputStream out = new FileOutputStream(new File("e:\\hello.xlsx")); auf die Festplatte.
        excel.write(out);//out.flush();//aktualisieren excel.close();
    }

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die grundlegende Verwendung von Apache POI. Weitere Informationen zur Verwendung von Apache POI finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Apache POI konvertiert PPT in Bildbeispielcode
  • Implementierungsmethode zum Exportieren von Excel gemäß Vorlage basierend auf Apache-POI
  • Generieren Sie Beispielcode für Word-Dokumente mit Java Apache POI
  • Das Java-Backend verwendet Apache-POI, um Excel-Dokumente zu generieren und Front-End-Download-Beispiele bereitzustellen
  • Java Apache POI liest und schreibt Word-Doc-Dateien
  • Java-Beispiel für die Verwendung der Apache-POI-Bibliothek zum Lesen von Excel-Tabellendokumenten
  • Einfaches Beispiel für die Verwendung von Apache POI zum Lesen von Word-Dateien in Java

<<:  CSS3 verwendet Transformationsverformung in Kombination mit Ereignissen, um die fächerförmige Navigation zu vervollständigen

>>:  So beheben Sie das Problem mit der Fußzeile unten auf der Seite (mehrere Methoden)

Artikel empfehlen

Verwenden von Openlayer in Vue, um einen Ladeanimationseffekt zu realisieren

Hinweis: Sie können keine bereichsbezogenen Anima...

Sehr empfehlenswert! Syntax Sugar in Vue 3.2 einrichten

Inhaltsverzeichnis Vorherige 1. Was ist Setup-Syn...

Vergleich mehrerer Beispiele zur Einfügungseffizienz in MySQL

Vorwort Aus beruflichen Gründen musste ich kürzli...

Docker installiert ClickHouse und initialisiert den Datentest

Clickhouse-Einführung ClickHouse ist ein spalteno...

js-Lernnotizen: Schlüsselwörter „class“, „super“ und „extended“

Inhaltsverzeichnis Vorwort 1. Erstellen Sie Objek...

Natives JS zum Erreichen von Spezialeffekt-Meldungsfeldern

In diesem Artikel wird ein Nachrichtenfeld mit Sp...

Was sind MySQL-Dirty-Pages?

Inhaltsverzeichnis Schmutzige Seiten (Speichersei...

MySQL etabliert eine effiziente Indexbeispielanalyse

Dieser Artikel beschreibt anhand von Beispielen, ...

Auszeichnungssprache - CSS-Layout

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...