[JAVA] Bearbeiten Sie Excel mit Apache POI

Überblick

In diesem Artikel wird eine sehr grundlegende Implementierungsmethode vorgestellt, wenn Sie den ** Apache POI ** von Java als Option verwenden, wenn Sie eine mechanische Operation in Excel ausführen möchten, das Schreiben von Makros jedoch problematisch ist. Ich werde. Im Bereich der Systementwicklung werden viele Konstruktionsdokumente häufig in Excel geschrieben, und ich denke, es gibt Situationen, in denen es schwierig ist, eine große Anzahl von Tabellendefinitionen und Bildschirmelementdefinitionen gleichzeitig zu überprüfen. In einem solchen Fall erleichtert die Bibliothek von "Apache POI" als andere Methode als VBA (Makro) das Erstellen von Tools mit Java, mit denen Sie vertraut sind.

Was ist Apache POI?

Apache POI (Apache Poi oder PIO) ist ein Projekt der Apache Software Foundation und wird als 100% Java-Bibliothek bereitgestellt, die Dateien im Microsoft Office-Format wie Word und Excel lesen und schreiben kann. https://ja.wikipedia.org/wiki/Apache_POI

Grundeinstellung

Erstellen Sie ein Maven-Projekt und fügen Sie "** poi " und " poi-ooxml **" zur Abhängigkeit der Datei pom.xml hinzu. (Siehe unten) Sie können auch Dateien im OOXML-Format verwenden, indem Sie "poi-ooxml" hinzufügen. Mit anderen Worten, POI kann zum Lesen und Schreiben von Dateien im Format 2007 mit Erweiterungen wie "xlsx" und "docx" verwendet werden.

pom.xml


<dependencies>
  <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>[Geben Sie die Version an]</version>
  </dependency>
  <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>[Geben Sie die Version an]</version>
  </dependency>
</dependencies>

Die neueste Version scheint "** 4.0.1 **" zu sein. (Stand 1. Februar 2019) https://mvnrepository.com/artifact/org.apache.poi/poi/4.0.1 https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml/4.0.1

Grundlegende Implementierung

Excel-Dateien lesen

Datei öffnen

Workbook workbook = WorkbookFactory.create(new File("Dateipfad"));

Öffnen Sie das Blatt

//Wenn Sie den Blattnamen kennen
Sheet sheet = workbook.getSheet("Blattname");

//Wenn Sie die Nummer des Blattes kennen, das Sie erhalten möchten
//Die Blattnummer basiert auf Null
Sheet sheet = workbook.getSheetAt(0);

//Bei wiederholter Bearbeitung aller Blätter
Iterator<Sheet> sheets = workbook.sheetIterator();
while(sheets.hasNext()) {
  Sheet sheet = sheets.next();
}

//Blattnamen abrufen
String sheetName = inputSheet.getSheetName();

Zellenwert abrufen

//Holen Sie sich Reihe
//Zeilennummern basieren auf Null
Row row = sheet.getRow("Zeilennummer");

//Holen Sie sich Zelle
//Spaltennummern basieren auf Null
Cell cell = row.getCell("Spaltenindex");

//Zelltyp abrufen
int cellType = cell.getCellType();

//Holen Sie sich Wert mit Getter nach Typ
// String
cell.getStringCellValue();
// Boolean
cell.getBooleanCellValue()
// Formula
cell.getCellFormula();
// Numeric
cell.getNumericCellValue();
// etc

Erstellung und Ausgabe von Excel-Dateien

Erstelle Datei

//Dateiformat bis Excel 2003
Workbook outputWorkbook = new HSSFWorkbook();

//OOXML in Excel 2007(Office Open XML)Dateiformat formatieren
Workbook outputWorkbook = new XSSFWorkbook();

Erstellen Sie ein Blatt

Sheet outputSheet = outputWorkbook.createSheet();

Wert in Zelle einstellen

//Zeile erstellen
//Zeilennummern basieren auf Null
Row outputRow = outputSheet.createRow("Zeilennummer");

//Zelle erstellen
//Spaltennummern basieren auf Null
Cell outputCell = outputRow.createCell("Spaltenindex");

//Wert in Zelle einstellen
outputCell.setCellValue("Wert, den Sie festlegen möchten");

Ausgabe in Datei

//Bereiten Sie einen Stream für die Ausgabe vor
FileOutputStream out = new FileOutputStream("Pfad der Ausgabedatei");
//Ausgabe in Datei
outputWorkbook.write(out);

Referenz

Die Werkzeuge, die ich dieses Mal persönlich gemacht habe, sind wie folgt. Es ist eine ziemlich grobe Implementierung, aber es schneidet die erforderlichen Teile aus einer großen Anzahl von Excel-Dateien aus und führt sie zu einer Datei zusammen. https://github.com/yhayashi30/ExcelMergeTool

Recommended Posts

Bearbeiten Sie Excel mit Apache POI
[Apache POI] Entsprechende Excel-Version
Excel-Operation mit Apache POI
Apache POI Excel mit Kotlin
Ausgabe nach Excel mit Apache POI!
Ersetzen Sie Text in der AutoShape of Excel-Datei durch Apache POI
Erstellen Sie eine Excel-Datei mit poi
[Java] Erstellen einer Excel-Datei mit Apache POI
Konvertieren Sie große XLSX-Dateien mit Apache POI in CSV
Wiederholte Probe mit Apache Freemarker
Apache POI Addictive Point List
Starten Sie Apache Solr mit Embedded.
Lassen Sie uns Excel mit Java betreiben! !!
Greifen Sie mit Micronaut auf Apache Kafka zu
Apache POI persönliches Memo Crossfish21
Verwendung von Apache POI
Excel mit Formeln mit XlsMapper ausgeben
Leistungsschaltermuster mit Apache-Kamel
gemeinsamer Export, um mit Poi zu übertreffen
Laden Sie große Dateien mit Apache JMeter herunter
[Apache POI] Beurteilung unnötiger Zellen
Beispiel für eine EXCEL-Dateiaktualisierung mit JAVA
Starten Sie Apache mit dem PHP-Apache-Image des Dockers neu
FileUpload mit Rest auf Apache Wicket
[Linux] Starten Sie den Apache-Container mit Docker