Arbeiten mit Excel in Java: Überblick über Bibliotheken und praktische Beispiele
In der Unternehmensentwicklung mit Java besteht häufig die Notwendigkeit, Excel-Tabellen programmatisch zu erstellen, zu lesen und zu ändern. Dies kann die Generierung von Berichten, der Import von Daten aus externen Systemen oder der Export von Berechnungsergebnissen sein. In diesem Artikel betrachten wir die wichtigsten Bibliotheken für die Arbeit mit Excel in Java, ihre Besonderheiten und geben anschauliche Codebeispiele.
Warum Java und nicht Python?
Obwohl unsere Website PythonLib heißt, bleibt Java eine der beliebtesten Sprachen für die Unternehmensentwicklung. Viele Unternehmen nutzen Java aktiv für Serveranwendungen, und die Integration mit Excel ist eine gefragte Aufgabe. Das Verständnis, wie man mit Excel in Java arbeitet, ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich.
Wichtige Bibliotheken für die Arbeit mit Excel in Java
Es gibt mehrere ausgereifte Bibliotheken, jede mit ihren eigenen Stärken:
- Apache POI – die beliebteste und funktionsreichste Bibliothek. Unterstützt die Formate .xls (HSSF) und .xlsx (XSSF). Ermöglicht das Erstellen, Lesen und Ändern von Dateien, unterstützt Formeln, Stile, Diagramme.
- JExcelApi (jxl) – eine leichtere Bibliothek, die nur das alte Format .xls unterstützt. Geeignet für einfache Aufgaben, wird aber seit 2009 nicht weiterentwickelt.
- Apache POI + XSSF/SXSSF – erweiterte Möglichkeiten für die Arbeit mit großen Dateien. SXSSF (Streaming) ermöglicht die Verarbeitung von Millionen von Zeilen mit geringem Speicherverbrauch.
- Docx4j – eine Bibliothek für die Arbeit mit Office Open XML, kann für .xlsx verwendet werden, wird aber häufiger für Word eingesetzt.
Erste Schritte mit Apache POI
Um die Bibliothek in ein Maven-Projekt einzubinden, fügen Sie die folgenden Abhängigkeiten in Ihre pom.xml ein:
<!-- Für die Arbeit mit .xls (HSSF) --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.5</version></dependency>
<!-- Für die Arbeit mit .xlsx (XSSF) --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.5</version></dependency>Wenn Sie Gradle verwenden, fügen Sie die Zeilen in Ihre build.gradle ein:
implementation 'org.apache.poi:poi:5.2.5'implementation 'org.apache.poi:poi-ooxml:5.2.5'Beispiel: Erstellen einer Excel-Datei mit einer Tabelle
Betrachten wir ein einfaches Beispiel zum Erstellen einer .xlsx-Datei mit Mitarbeiterdaten.
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;import java.io.IOException;
public class ExcelWriter { public static void main(String[] args) { // Neue Arbeitsmappe erstellen try (Workbook workbook = new XSSFWorkbook()) { // Blatt erstellen Sheet sheet = workbook.createSheet("Mitarbeiter");
// Kopfzeile erstellen Row headerRow = sheet.createRow(0); String[] columns = {"ID", "Name", "Position", "Gehalt"}; for (int i = 0; i < columns.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(columns[i]); // Kopfzeile fett machen CellStyle style = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBold(true); style.setFont(font); cell.setCellStyle(style); }
// Mit Daten füllen Object[][] data = { {1, "Ivan Ivanov", "Entwickler", 150000}, {2, "Petr Petrov", "Analyst", 120000}, {3, "Sidor Sidorov", "Manager", 180000} Auch in der Bibliothek
Caching in Node.js: Redis, Memcached und integrierter Speicher
JSON-Verarbeitung in Kotlin: Bibliotheken und Codebeispiele
HTML-Parsing in Java: Die besten Bibliotheken und Codebeispiele
Caching in TypeScript: Redis und andere Lösungen für Node.js