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.
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
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
Workbook workbook = WorkbookFactory.create(new File("Dateipfad"));
//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();
//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
//Dateiformat bis Excel 2003
Workbook outputWorkbook = new HSSFWorkbook();
//OOXML in Excel 2007(Office Open XML)Dateiformat formatieren
Workbook outputWorkbook = new XSSFWorkbook();
Sheet outputSheet = outputWorkbook.createSheet();
//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");
//Bereiten Sie einen Stream für die Ausgabe vor
FileOutputStream out = new FileOutputStream("Pfad der Ausgabedatei");
//Ausgabe in Datei
outputWorkbook.write(out);
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