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

So richten Sie einen FTP-Server in CentOS7 ein

FTP wird hauptsächlich für die Dateiübertragung v...

Installation von CUDA10.0 und Probleme in Ubuntu

Die Entsprechung zwischen der Tensorflow-Version ...

Detaillierte Einführung in Robots.txt

Robots.txt ist eine reine Textdatei, in der Websi...

Detaillierte Erläuterung der Angular-Strukturdirektivenmodule und -Stile

Inhaltsverzeichnis 1. Strukturelle Anweisungen Mo...

Welche Vorteile bietet die Verwendung eines B+-Baums als Indexstruktur in MySQL?

Vorwort In MySQL verwenden sowohl Innodb als auch...

Schritte zum Verpacken und Konfigurieren von SVG-Komponenten in Vue-Projekten

Ich bin erst vor Kurzem in eine neue Firma einges...

Zusammenfassung der MySQL-Tabellen- und Spaltenkommentare

Genau wie bei Code können Sie den Tabellen und Sp...

JavaScript Canvas-Textuhr

In diesem Artikelbeispiel wird der spezifische Co...

Flussdiagramm für den Webserverzugriff auf HTTP und HTTP-Zusammenarbeit

Ein Webserver kann mehrere Websites mit unabhängi...