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 installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

JavaScript-Array-Deduplizierungslösung

Inhaltsverzeichnis Methode 1: Set: Es handelt sic...

Implementierung der automatischen Konstruktionsweiterleitung von React

Inhaltsverzeichnis Sequenz 1. Zentralisiertes Rou...

Analyse der Probleme und Lösungen beim Importieren großer Datenmengen in MySQL

Im Projekt stoßen wir häufig auf das Problem, gro...

Verwenden von Vue zum Implementieren einer Timerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Daten in der Layui-Tabellenzeile dynamisch bearbeiten

Inhaltsverzeichnis Vorwort Stil Funktion Beschrei...

VMWare Linux MySQL 5.7.13 Installations- und Konfigurationstutorial

In diesem Artikel finden Sie das Tutorial zur Ins...

mysql5.7.21.zip Installations-Tutorial

Der detaillierte Installationsprozess von mysql5....

Über Front-End JavaScript ES6 Details

Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...

Die neuesten 36 hochwertigen kostenlosen englischen Schriftarten freigegeben

01. Unendlichkeit Schriftart herunterladen 02. Ban...

Lassen Sie uns über die Speicher-Engine in MySQL sprechen

Grundlagen In einer relationalen Datenbank entspr...

So binden Sie einen Docker-Container an eine externe IP und einen externen Port

Docker ermöglicht die Bereitstellung von Netzwerk...