In unserem vorherigen Artikel haben wir die Details von Apache POI, einer Open-Source-Java-API für die Arbeit mit Microsoft-Dateiformaten, durchlaufen. In diesem Artikel werden wir die Apache -POI -Komponente für die Arbeit mit Excel -Arbeitsmappen durchlaufen. Wir werden auch zeigen, wie Sie mit Apache POI eine Excel -Datei erstellen und mit dieser Java -Bibliothek Blätter hinzufügen.

apache poi java apis zum Zugriff auf Excel-Dateiformate

Apache Poi Java API bietet separate Komponenten für die Arbeit mit zwei verschiedenen Excel -Dateiformaten. Diese sind:

  1. HSSF (schreckliches Tabellenkalkulationsformat)-zur Arbeit mit Excel 97-2003 Dateiformaten
  2. XSSF (XML -Tabellenkalkulationsformat) - Für die Arbeit mit Excel 2007- und späteren Dateiformaten Insbesondere HSSF Ermöglicht das Lesen von XLS -Dateien, während XSSF Sie XLS und XLSX -Dateien lesen können. Mit diesen APIs können Sie Excel -Dateien in Ihrer Java -Anwendung aus Ihrer Java -Anwendung erstellen, lesen und manipulieren, ohne sich auf die Details der zugrunde liegenden Dateiformate einzulassen.

Wie erstelle ich Excel XLSX -Datei in Java?

In diesem Beispiel werden wir die Details der Verwendung von Apache POI XSSF zum Erstellen von XLSX -Dateien in unserer Java -Anwendung durchführen. In dieser Phase gehen wir davon aus, dass Sie die Apache -POI -API bereits in Ihrer Java -Anwendung installiert und konfiguriert haben. Wenn Sie dies nicht getan haben, können Sie die Apache POI für Java besuchen und die Schritte ausführen.

Schritte zum Erstellen von Excel Workbook mit Apache POI

Das Erstellen eines Excel -Arbeitsbuchs mit Apache POI -API für Java ist einfach und einfach und kann mit den folgenden Schritten erreicht werden.

  1. Erstellen Sie ein Arbeitsbuch mit der XSSFWorkbook Klasse
  2. Schließen Sie den Ausgangsstrom. Java -Code zum Erstellen von Excel Workbook mit Apache POI ist wie folgt.
XSSFWorkbook wb = new XSSFWorkbook();
...
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

Der obige Code erstellt im XLSX -Dateiformat ein Excel -Arbeitsbuch. Wenn Sie das Arbeitsbuch zu diesem Zeitpunkt jedoch öffnen, erhalten Sie den folgenden Fehler.

Der Grund dafür ist, dass ein Excel -Arbeitsbuch, das Apache POI ohne Arbeitsblatt mit Apache POI, diesen Fehler gibt. Um dieses Problem zu lösen, müssen wir der generierten Excel -Datei mindestens ein Arbeitsblatt hinzufügen.

Arbeitsblatt zum Excel-Arbeitsbuch mit Apache POI in Java {.wp-Block-Heading} hinzufügen

Dies bringt uns zu dem Schritt, in dem wir der Arbeitsmappe ein Arbeitsblatt hinzufügen müssen, damit es ordnungsgemäß funktioniert. Dies kann durch die Verwendung des XSSFSheet -Objekts erreicht werden, das der Arbeitsmappe wie im folgenden Code -Beispiel gezeigt hinzugefügt wird.

XSSFWorkbook wb1 = new XSSFWorkbook();
try
{
	XSSFSheet sheet1 = wb1.createSheet("Ripon");
	FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
	wb1.write(fileOut);    
	fileOut.close();
}
catch(Exception ex)
{
	System.out.println("XLSX Generated Error...");
}

Complete XSSFWorkbook Beispiel

Jetzt, da wir gesehen haben, wie man ein Arbeitsbuch erstellt und mit Apache Poi -API für Java ein Blatt hinzufügt, schauen wir uns an, wie wir dem erstellten Arbeitsblatt Zeilen und Zellen hinzufügen werden. Die XSSFSheet -Klasse verfügt über das Method CreateRow, mit dem Sie dem Blatt eine Zeile hinzufügen können. Dies gibt ein Objekt der Zeilenklasse zurück, das eine Zeile im Excel -Arbeitsblatt darstellt. Um Zellen im Arbeitsblatt zu erstellen, müssen wir die CreateCell -Methode verwenden, die ein Objekt der XSSFCell -Klasse zurückgibt. Die setCellValue -Methode des XSSFCell wird verwendet, um den Wert der Zelle festzulegen. Ein vollständiges Beispiel für das Erstellen eines Arbeitsbuchs mit XSSFWorkbook, Hinzufügen eines Blattes mit XSSFSheet und dem Hinzufügen von XSSFrow zu dieser wird unten angezeigt.

// Blank workbook
        XSSFWorkbook workbook = new XSSFWorkbook();
        // Creating a blank Excel sheet
        XSSFSheet sheet = workbook.createSheet("student Details");
        // Creating an empty TreeMap of string and Object][] type
        Map<String, Object[]> data = new TreeMap<String, Object[]>();
        // Writing data to Object[]
        // using put() method
        data.put("1", new Object[] { "ID", "CITY", "STATE" });
        data.put("2", new Object[] { 1, "Clanton", "Alabama" });
        data.put("3", new Object[] { 2, "Cordova", "Alaska" });
        data.put("4", new Object[] { 3, "Clifton", "Arizona" });
        data.put("5", new Object[] { 4, "Arcadia", "California" });
  
	// Iterating over data and writing it to sheet
	Set<String> keyset = data.keySet(); 
        int rownum = 0;
        for (String key : keyset) { 
            // Creating a new row in the sheet
            XSSFRow row = sheet.createRow(rownum++); 
            Object[] objArr = data.get(key); 
            int cellnum = 0; 
            for (Object obj : objArr) { 
                // This line creates a cell in the next column of that row
                XSSFCell cell = row.createCell(cellnum++); 
                if (obj instanceof String)
                    cell.setCellValue((String)obj); 
                else if (obj instanceof Integer)
                    cell.setCellValue((Integer)obj);
            }
        }     
        // Writing the workbook
        FileOutputStream out = new FileOutputStream("gfgcontribute.xlsx");
        workbook.write(out); 
        // Closing file output connections
        out.close();

Schlussfolgerung

In diesem Blog -Artikel haben wir gezeigt, wie ein Excel -Arbeitsbuch mit Apache POI -API für Java erstellt wird. Wir haben das XSSFWorkbook verwendet, um ein XLSX -Arbeitsbuch zu generieren, Arbeitsblätter hinzugefügt, dem Arbeitsblatt Zeilen hinzugefügt und in den Zellen im Arbeitsblatt besiedelte Daten. Weitere Beispiele für die Arbeit mit Excel -Arbeitsmappen mit Apache POI für Java, bleiben Sie dran.