Diesmal ist Apache POI. Ich habe es verwendet, um von Excel erstellte Datengruppen in die Java-Verarbeitung zu importieren.
Offizieller Name Apache POI Java-Bibliothek, die Dateien im Microsoft Office-Format wie Word und Excel lesen und schreiben kann
Ich habe die folgende JAR-Datei von hier heruntergeladen. https://poi.apache.org/download.html
poi-4.1.1.jar poi-ooxml-4.1.1.jar poi-ooxml-schemas-4.1.1.jar commons-collections4-4.4.jar commons-compress-1.19.jar xmlbeans-3.1.0.jar
Ich habe einen Prozess zum Importieren des ersten Blattes der Excel-Zieldatei, Spalte A, in Java durchgeführt.
SamplePOI.java
public class SamplePOI {
/*
*Dieser Prozess
*/
public static void main(String[] args) {
//Geben Sie hier den vollständigen Pfad der Excel-Datei ein, die Sie importieren möchten
String ExcelPath = "";
//Objekte für Excel
Workbook wb;
Sheet sh;
Row row;
Cell cell;
//Liste für gespeicherte Daten
List<String> columnA_List = new ArrayList<>();
try (InputStream is = new FileInputStream(ExcelPath)) {
//Importieren Sie die Excel-Zieldatei in Java
wb = WorkbookFactory.create(is);
//Geben Sie das erste Blatt der Zieldatei an
sh = wb.getSheetAt(0);
//Holen Sie sich die maximale Zeile im Blatt
int rowMaxA = sh.getLastRowNum();
//Drehen Sie die Schleife für die maximale Zeile und erhalten Sie die Zelle der Spalte A als String-Typ
for (int i = 0; i <= rowMaxA; i++) {
row = sh.getRow(i);
cell = row.getCell(0);
String cellValue = getCellStringValue(cell);
columnA_List.add(cellValue);
}
//Ausgabe an die Konsole
System.out.print("[");
for (String outStr : columnA_List) {
System.out.print(outStr);
}
System.out.print("]");
} catch (Exception e) {
e.printStackTrace();
}
}
/*
*Bestimmt den Zellenstatus und gibt ihn als String-Typ zurück.
*/
private static String getCellStringValue(Cell cell) {
String retStr;
CellType cellType = cell.getCellType();
switch (cellType) {
case STRING:
retStr = cell.getStringCellValue();
break;
case NUMERIC:
retStr = String.valueOf(cell.getNumericCellValue());
break;
case BOOLEAN:
retStr = String.valueOf(cell.getBooleanCellValue());
break;
case FORMULA:
retStr = String.valueOf(cell.getCellFormula());
break;
case ERROR:
retStr = String.valueOf(cell.getErrorCellValue());
break;
default:
retStr = "";
break;
}
return retStr;
}
}
Wenn ich die Excel-Datei mit dem folgenden Hiragana lade und ausführe, "Akasatana Hamayarawa" wird ausgegeben.
samplePOI.result
[a Ka sa ta na ha ma ya ra wa]
Ich habe nur eine einfache Verarbeitung durchgeführt, aber ich hatte das Gefühl, dass es dasselbe ist wie VBA. Es war ein wenig schwierig zu verstehen, dass der Zelltyp bei der Erfassung des Zellinhalts berücksichtigt werden musste.
Wenn ich versuche, eine Funktion in Excel einzufügen und zu importieren, scheint es, dass die Funktion selbst als Wert anstelle des Berechnungsergebnisses erfasst wird. Wenn Sie also das Ergebnis wollen, scheint es ein wenig schwierig zu sein.
Recommended Posts