JExcel API - Lesen und Schreiben von Excel-Dateien in Java
In diesem Artikel wird erläutert, wie Sie eine Excel-Datei mit der JExcel-API lesen und schreiben, einer einfachen Bibliothek, die häufig für einfache Vorgänge verwendet wird, bei denen kein hohes Maß an Formatierung und komplexe formelbasierte Vorgänge erforderlich sind.
P.S Tested with JExcel API – 2.6.12
1. Laden Sie JExcel herunter
Maven Benutzer.
pom.xml
net.sourceforge.jexcelapi jxl 2.6.12
Oder laden Sie direkt beithis location herunter
2. Excel-Datei schreiben
JExcel-API-Beispiel, das Ihnen zeigt, wie Sie eine Excel-Datei erstellen und Daten in diese schreiben.
ExcelWrite.java
package com.techfou; import jxl.Workbook; import jxl.write.*; import jxl.write.Number; import java.io.File; import java.io.IOException; public class ExcelWrite { private static final String EXCEL_FILE_LOCATION = "C:\\temp\\MyFirstExcel.xls"; public static void main(String[] args) { //1. Create an Excel file WritableWorkbook myFirstWbook = null; try { myFirstWbook = Workbook.createWorkbook(new File(EXCEL_FILE_LOCATION)); // create an Excel sheet WritableSheet excelSheet = myFirstWbook.createSheet("Sheet 1", 0); // add something into the Excel sheet Label label = new Label(0, 0, "Test Count"); excelSheet.addCell(label); Number number = new Number(0, 1, 1); excelSheet.addCell(number); label = new Label(1, 0, "Result"); excelSheet.addCell(label); label = new Label(1, 1, "Passed"); excelSheet.addCell(label); number = new Number(0, 2, 2); excelSheet.addCell(number); label = new Label(1, 2, "Passed 2"); excelSheet.addCell(label); myFirstWbook.write(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } finally { if (myFirstWbook != null) { try { myFirstWbook.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } } } }
Bei der Ausgabe wird eine Excel-Datei mit folgendem Inhalt erstellt:
3. Excel-Datei lesen
Beispiel zum Lesen der obigen Excel-Datei.
ExcelRead.java
package com.techfou; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.File; import java.io.IOException; public class ExcelRead { private static final String EXCEL_FILE_LOCATION = "C:\\temp\\MyFirstExcel.xls"; public static void main(String[] args) { Workbook workbook = null; try { workbook = Workbook.getWorkbook(new File(EXCEL_FILE_LOCATION)); Sheet sheet = workbook.getSheet(0); Cell cell1 = sheet.getCell(0, 0); System.out.print(cell1.getContents() + ":"); // Test Count + : Cell cell2 = sheet.getCell(0, 1); System.out.println(cell2.getContents()); // 1 Cell cell3 = sheet.getCell(1, 0); System.out.print(cell3.getContents() + ":"); // Result + : Cell cell4 = sheet.getCell(1, 1); System.out.println(cell4.getContents()); // Passed System.out.print(cell1.getContents() + ":"); // Test Count + : cell2 = sheet.getCell(0, 2); System.out.println(cell2.getContents()); // 2 System.out.print(cell3.getContents() + ":"); // Result + : cell4 = sheet.getCell(1, 2); System.out.println(cell4.getContents()); // Passed 2 } catch (IOException e) { e.printStackTrace(); } catch (BiffException e) { e.printStackTrace(); } finally { if (workbook != null) { workbook.close(); } } } }
Der obige Code ist fast selbst verständlich. Jede Zelle oder jedes Blatt wird in Java als Objekt zugeordnet. Im obigen Code haben wir das JExcel-Glas verwendet, um das Arbeitsblatt zu schreiben. Durch Ausführen des Codes wird die Ausgabe wie folgt erhalten:
Test Count:1 Result:Passed Test Count:2 Result:Passed 2
4. Formatierung zur Excel-Datei hinzufügen
Ein Beispiel kann durch Hinzufügen einer Formatierung weiter verbessert werden. Ein kurzer Code zum Hinzufügen von Formatierungen wurde unten angezeigt:
ExcelFormat .java
package com.example; import jxl.Workbook; import jxl.write.*; import jxl.write.Number; import java.io.File; import java.io.IOException; public class ExcelFormat { private static final String EXCEL_FILE_LOCATION = "C:\\temp\\MyFormattedExcel.xls"; public static void main(String[] args) { //1. Create an Excel file WritableWorkbook mySecondWbook = null; try { mySecondWbook = Workbook.createWorkbook(new File(EXCEL_FILE_LOCATION)); WritableSheet myFirstSheet = mySecondWbook.createSheet("Sheet 1", 0); WritableCellFormat cFormat = new WritableCellFormat(); WritableFont font = new WritableFont(WritableFont.ARIAL, 16, WritableFont.BOLD); cFormat.setFont(font); Label label = new Label(0, 0, "Test Count", cFormat); myFirstSheet.addCell(label); Number number = new Number(0, 1, 1); myFirstSheet.addCell(number); label = new Label(1, 0, "Result", cFormat); myFirstSheet.addCell(label); label = new Label(1, 1, "Passed"); myFirstSheet.addCell(label); number = new Number(0, 2, 2); myFirstSheet.addCell(number); label = new Label(1, 2, "Passed 2"); myFirstSheet.addCell(label); mySecondWbook.write(); } catch (WriteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (mySecondWbook != null) { try { mySecondWbook.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } } } }
Ausgabe
Der Code formatiert den Header in Arial, 16px, Fettschrift. Es stehen mehrere andere unterstützte Schriftarten und -größen zur Verfügung. Es gibt viele zusätzliche Funktionen von JExcel, mit denen Sie ein noch verfeinertes und gut formatiertes Excel erstellen können. Dieser Artikel gibt Ihnen einen Vorsprung. Weitere Informationen finden Sie unter den folgenden Links in den Referenzen.