Importieren Sie Excel-Daten mit Java

Einführung

Diesmal ist Apache POI. Ich habe es verwendet, um von Excel erstellte Datengruppen in die Java-Verarbeitung zu importieren.

Was ist Apache POI?

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

Prozess gemacht

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;
    }
}

Versuche zu rennen

Wenn ich die Excel-Datei mit dem folgenden Hiragana lade und ausführe, "Akasatana Hamayarawa" wird ausgegeben. image.png

samplePOI.result


[a Ka sa ta na ha ma ya ra wa]

Zusammenfassung

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

Importieren Sie Excel-Daten mit Java
Importieren Sie Excel-Daten mit Java 2
Importieren Sie Excel-Daten mit Java 3
Java-Zusatz Excel-Datenüberprüfung
Firestore-Daten in RecyclerView [Java] anzeigen
Erstellen Sie Binärdaten variabler Länge in Java
Partisierung in Java
Optimieren Sie Java-Importdeklarationen in IntelliJ IDEA
Janken in Java
Löschen Sie leere Zeilen / Spalten in Java Excel
Umfangsrate in Java
FizzBuzz in Java
Hinzufügen, Lesen und Löschen von Excel-Kommentaren mit Java
Organisiertes Memo im Kopf (Java - Datentyp)
Importieren Sie Dateien derselben Hierarchie in Java
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
[Java] Datentyp ①-Basistyp
Azure funktioniert in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
[Java] Hauptdatentypen
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Java-Grunddatentypen
Vektorisieren und bildgeben Sie handgeschriebene numerische MNIST-Bilddaten mit Java
Versuchen Sie es mit RocksDB mit Java
Lesen Sie Binärdateien in Java 1
Java-Lernnotiz (Datentyp)
Holen Sie sich EXIF-Informationen in Java
[Neta] Sleep Sort in Java
Verwendung von JSON-Daten in der WebSocket-Kommunikation (Java, JavaScript)
Java-Geschichte in dieser Welt
Java-Zelle zum Zusammenführen und Zusammenführen von Java