Java bietet verschiedene Möglichkeiten, mit Dateien zu arbeiten, einschließlich des Schreibens von Daten in Excel-Dateien. Dies kann beispielsweise nützlich sein, wenn Sie einen Bericht aufzeichnen oder Daten in einem benutzerfreundlichen Format exportieren müssen.
Es gibt mehrere Bibliotheken für die Arbeit mit Excel-Dateien in Java, aber eine der beliebtesten ist der Apache POI. Die Apache POI-Bibliothek bietet eine Reihe von Klassen und Methoden, mit denen Sie Excel-Dateien erstellen und bearbeiten können.
Um Daten mit dem Apache POI in eine Excel-Datei zu schreiben, müssen Sie eine neue Arbeitsmappe (Arbeitsmappe), ein Arbeitsblatt (Sheet) erstellen und die Zellen mit Daten füllen. Mit Bibliotheksmethoden können Sie verschiedene Stile für Zellen festlegen, z. B. Textausrichtung, Schriftart und Hintergrundfarbe. Sie können Zellen auch Diagramme und Formeln hinzufügen.
Nachdem Sie ein Arbeitsblatt mit Daten ausgefüllt haben, können Sie es mithilfe der write() -Methode der Workbook-Klasse in einer Datei auf der Festplatte speichern. Sie können ein Excel-Dateiformat wie wählen .xls oder .xlsx, und geben Sie den Pfad zu der Datei an, in der Sie die Daten speichern möchten.
Verwenden der Apache POI-Bibliothek zum Schreiben von Excel-Dateien in Java
Um mit dem Apache POI zu beginnen, müssen Sie dem Projekt seine Abhängigkeit hinzufügen. Sie können dies in einer POM-Datei tun.xml (für Maven-Projekte) oder hinzufügen .jar-Dateien sind abhängig (für normale Projekte).
Nachdem Sie die Abhängigkeit hinzugefügt haben, können Sie mit der Erstellung einer Excel-Datei beginnen. Zunächst müssen Sie eine Instanz der Workbook-Klasse erstellen, die Ihre Excel-Datei darstellt. Sie können zwischen zwei Klassen wählen - XSSFWorkbook (für Dateien .xlsx) und HSSFWorkbook (für Dateien .xls).
Beispiel zum Erstellen einer Instanz einer Workbook-Klasse für eine Datei .xlsx:
Workbook workbook = new XSSFWorkbook();
Oder für eine Datei .xls:
Workbook workbook = new HSSFWorkbook();
Als nächstes können Sie eine neue Seite (Arbeitsblatt) in einer Excel-Datei mit der createSheet() -Methode erstellen.
Sheet sheet = workbook.createSheet("Новая страница");
Jetzt können Sie Zellen erstellen und mit Werten füllen. Mit der createRow() -Methode können Sie eine Zeile erstellen und dann mit der createCell() -Methode eine Zelle innerhalb dieser Zeile erstellen.
Row row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("Привет, мир!");
Um eine Excel-Datei auf der Festplatte zu speichern, können Sie die FileOutputStream-Klasse und die write() -Methode verwenden, um die Daten in die Datei zu schreiben.
// Путь к файлу ExcelString filePath = "путь/к/файлу.xlsx";// Создание файлаFileOutputStream fileOut = new FileOutputStream(filePath);// Запись данных в файлworkbook.write(fileOut);// Закрытие потокаfileOut.close();
Wenn Sie nun Ihre Java-Anwendung starten, wird eine Excel-Datei im angegebenen Pfad erstellt und geschrieben.
In diesem Artikel haben wir uns die grundlegende Verwendung der Apache POI-Bibliothek zum Schreiben von Excel-Dateien in Java angesehen. Der Apache POI bietet viele andere Funktionen wie das Formatieren von Zellen, das Erstellen von Diagrammen und vieles mehr. Weitere Informationen und Beispiele finden Sie in der offiziellen Apache POI-Dokumentation.
Vorbereiten der Verwendung der Apache POI-Bibliothek
Bevor Sie mit dem Apache POI beginnen, müssen Sie Ihrem Projekt mehrere Abhängigkeiten hinzufügen. In diesem Fall werden wir Maven verwenden. In seiner POM-Datei.xml fügen Sie die folgenden Abhängigkeiten hinzu:
XML:
Beachten Sie, dass wir zwei Abhängigkeiten hinzufügen - poi und poi-ooxml. Poi-ooxml wird verwendet, um mit Office Open XML-Dateiformaten wie z. B. zu arbeiten.xlsx.
Wenn Sie Maven nicht verwenden, können Sie die JAR-Dateien manuell von der Apache POI-Website herunterladen und zu Ihrem Projekt hinzufügen. Außerdem müssen Sie alle erforderlichen Abhängigkeiten hinzufügen, die in der Apache POI-Dokumentation aufgeführt sind.
Nachdem Sie Abhängigkeiten hinzugefügt haben, sind Sie bereit, Apache POI zu verwenden, um Excel-Dateien mit Java zu schreiben.
Erstellen einer neuen Excel-Datei
Um eine neue Excel-Datei in Java zu erstellen, können wir die Apache POI-Bibliothek verwenden. Diese Bibliothek bietet eine Reihe von Klassen und Methoden, mit denen wir Daten im Excel-Format manipulieren können.
Bevor Sie mit der POI-Bibliothek beginnen, müssen Sie ihrer POM-Datei eine Abhängigkeit von der POI-Bibliothek hinzufügen.xml Ihres Projekts oder laden Sie die JAR-Datei manuell herunter und fügen Sie sie Ihrem Projekt hinzu.
Um eine neue Excel-Datei mit der POI-Bibliothek zu erstellen, führen Sie die folgenden Schritte aus:
- Erstellen Sie eine Instanz der Workbook-Klasse. Eine Workbook-Klasse ist eine Excel-Datei und enthält Methoden zum Erstellen und Verwalten ihres Inhalts. Um eine neue Datei zu erstellen, können wir die Klasse XSSFWorkbook oder HSSFWorkbook verwenden, abhängig vom Dateiformat (XLSX oder XLS).
- Erstellt ein neues Arbeitsblatt in der erstellten Datei. Die Sheet-Klasse ist ein Arbeitsblatt in einer Excel-Datei und enthält Methoden zum Erstellen und Verwalten des Inhalts. Um ein neues Arbeitsblatt zu erstellen, können wir die createSheet() -Methode des Workbook-Objekts verwenden.
- Erstellt Zeilen und Zellen im erstellten Arbeitsblatt. Die Row-Klasse ist eine Zeile in einer Excel-Datei und die Cell-Klasse ist eine Zelle. Wir können die Methoden createRow() und createCell() der Sheet-Klasse verwenden, um neue Zeilen und Zellen zu erstellen.
- Daten in die erstellten Zellen schreiben. Wir können die setCellValue() -Methoden der Cell-Klasse verwenden, um Daten in eine Zelle zu schreiben.
- Datei speichern. Wir können die write() -Methode des Workbook-Objekts verwenden, um die Datei auf der Festplatte zu speichern.
Im folgenden Beispielcode wird veranschaulicht, wie eine neue Excel-Datei mit einem Arbeitsblatt und einer Zelle erstellt wird:
import org.apache.poi.ss.usermodel.*;public class CreateExcelFile catch (Exception ex) >>
Wenn Sie diesen Code ausführen, wird eine neue Excel-Datei mit dem Namen "Neue Datei" erstellt.xlsx" und schreibt die Zeile "Hallo Welt!" in Zelle A1.
Jetzt wissen Sie, wie Sie eine neue Excel-Datei mit Java und der Apache POI-Bibliothek erstellen. Sie können diese Informationen verwenden, um komplexe und strukturierte Excel-Dateien mit verschiedenen Daten zu erstellen.
Erstellen eines Arbeitsblatts in einer Excel-Datei
Es gibt mehrere Möglichkeiten, ein Arbeitsblatt in einer Excel-Datei zu erstellen. Betrachten Sie die häufigsten von ihnen:
1. Erstellen eines Arbeitsblatts mit der HSSFWorkbook-Klasse:
// Создание нового экземпляра класса HSSFWorkbookHSSFWorkbook workbook = new HSSFWorkbook();// Создание нового листа в книгеHSSFSheet sheet = workbook.createSheet("Название_листа");
Hier erstellen wir eine neue Instanz der HSSFWorkbook-Klasse, bei der es sich um eine Excel-Arbeitsmappe handelt. Dann erstellen wir mit der createSheet() -Methode ein neues Blatt und geben ihm einen Namen an.
2. Erstellen eines Arbeitsblatts mit der XSSFWorkbook-Klasse:
// Создание нового экземпляра класса XSSFWorkbookXSSFWorkbook workbook = new XSSFWorkbook();// Создание нового листа в книгеXSSFSheet sheet = workbook.createSheet("Название_листа");
Ähnlich wie bei der vorherigen Methode wird nur die XSSFWorkbook-Klasse zum Erstellen einer Excel-Arbeitsmappe verwendet.
3. Auswählen eines vorhandenen Blattes nach Index:
// Получение первого листа в книге по индексуSheet sheet = workbook.getSheetAt(0);
Wenn bereits mehrere Arbeitsblätter in der Arbeitsmappe vorhanden sind, können Sie das gewünschte Arbeitsblatt mithilfe der getSheetAt() -Methode auswählen und einen Index angeben, der bei Null beginnt.
Anmerkung: abhängig von der verwendeten Version der Apache POI-Bibliothek müssen Sie den Klassenimport (HSSFWorkbook, XSSFWorkbook) ändern, um die gewünschte Implementierung auszuwählen.
Daher ist das Erstellen eines Arbeitsblatts ein wichtiger Schritt beim Schreiben einer Excel-Datei mit Java, mit dem Sie die Struktur und den Namen des Arbeitsblatts in der Arbeitsmappe festlegen können.
Festlegen von Spaltenüberschriften in einer Excel-Datei
Wenn Sie eine Excel-Datei mit Java erstellen, möchten wir häufig Spaltenüberschriften hinzufügen, um das Lesen und Verstehen der Daten in der Tabelle zu erleichtern. Dazu können wir die Methoden der Apache POI-Bibliothek verwenden, mit der Sie mit Excel-Dateien arbeiten können.
Zuerst müssen wir ein Objekt der HSSFWorkbook-Klasse erstellen, bei dem es sich um eine Excel-Datei handelt. Dann erstellen wir ein Objekt der HSSFSheet-Klasse, das das Arbeitsblatt in der Excel-Datei darstellt. In diesem Arbeitsblatt erstellen wir die erste Zeile - den Tabellenkopf. Verwenden Sie dazu die createRow() -Methode des HSSFSheet-Objekts.
Als nächstes erstellen wir die Zellen in der Titelleiste mit der createCell() -Methode des HSSFRow-Objekts. Geben Sie für jede Zelle den Titeltext an, der in der Tabellenspalte angezeigt wird. Dann können wir den Zellstil anpassen, Hintergrundfarbe, Schriftart usw. hinzufügen. Dies kann mit den Methoden der HSSFCellStyle-Klasse erfolgen.
Nachdem wir die Überschriften für alle Spalten festgelegt haben, können wir die Excel-Datei mit den Methoden der HSSFWorkbook-Klasse auf die Festplatte schreiben oder über das Netzwerk senden. Zum Beispiel können wir zum Schreiben einer Datei auf eine Festplatte die write() -Methode verwenden und als Argument einen OutputStream übergeben, der mit der Datei verknüpft ist, in die wir die Daten schreiben möchten.
Hier ist ein Codebeispiel, das zeigt, wie Sie die Überschriften für Spalten in einer Excel-Datei festlegen:
HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet("Лист 1");HSSFRow headerRow = sheet.createRow(0);HSSFCellStyle headerCellStyle = workbook.createCellStyle();headerCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);for (int i = 0; i < columnTitles.length; i++) FileOutputStream fileOut = new FileOutputStream("путь_к_файлу.xls");workbook.write(fileOut);fileOut.close();workbook.close();
In diesem Beispiel wird eine neue Excel-Datei mit einem einzelnen Arbeitsblatt erstellt. Dann wird die erste Zeile erstellt, die Tabellenkopfzeile, und für jede Titelzelle wird der Titeltext angegeben. Die Überschriften werden mit einer grauen Hintergrundfarbe formatiert. Schließlich wird die Excel-Datei mit der write() -Methode auf die Festplatte geschrieben.
Das Festlegen von Überschriften für Spalten in einer Excel-Datei mit Java ist daher mit der Apache POI-Bibliothek ziemlich einfach. Dies ermöglicht es uns, professionell aussehende und leicht lesbare Excel-Dateien mit Daten zu erstellen.
Schreiben von Daten in eine Excel-Datei
Der erste Schritt besteht darin, die Apache POI-Bibliothek mit Ihrem Projekt zu verbinden. Apache POI ist eine offene Bibliothek zum Lesen und Schreiben von Microsoft Office-Dateien mit Java. Sie können die Apache POI-JAR-Dateien von der offiziellen Website herunterladen und zu Ihrem Projekt hinzufügen.
Nachdem Sie die Apache POI-Bibliothek angeschlossen haben, können Sie direkt mit der Excel-Datei arbeiten. Im folgenden Beispielcode wird eine neue Excel-Datei erstellt und Daten darin geschrieben:
public class ExcelWriter
public void writeDataToExcel()
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// Создаем заголовок таблицы
Zeilenkopfzeile = Blatt.Gründerzeit (0);
Zelle headerCell1 = HeaderRow.createCell(0);
Zelle headerCell2 = HeaderRow.createCell(1);
Zelle headerCell3 = HeaderRow.createCell(2);
// Записываем данные в таблицу
Zeile DataRow = Blatt.kreateRow (1);
Zelle dataCell1 = DataRow.createCell(0);
Zelle dataCell2 = DataRow.createCell(1);
Zelle dataCell3 = DataRow.createCell(2);
FileOutputStream outputStream = new FileOutputStream("data.xlsx");
> catch (IOException e)
Beachten Sie die Verwendung der Workbook- , Sheet- , Row- und Cell-Klassen aus der Apache POI-Bibliothek. Wir erstellen eine neue Excel-Datei mit der XSSFWorkbook-Klasse und fügen das Arbeitsblatt mit der createSheet() -Methode hinzu. Dann erstellen wir einen Tabellenkopf, füllen ihn mit Daten aus und speichern die Datei mit der write() -Methode der Workbook-Klasse.
Durch die Ausführung dieses Codes wird eine neue Excel-Datei mit dem Namen "data" erstellt.xlsx", das eine Tabelle mit Daten enthält.
Dies ist nur ein Beispiel für die Arbeit mit der Apache POI-Bibliothek, aber es zeigt die grundlegenden Prinzipien des Schreibens von Daten in Excel-Dateien mit Java. Sie können diesen Code weiter entwickeln, Formatierungen hinzufügen, mit verschiedenen Datentypen arbeiten usw.
In diesem Artikel haben wir uns ein grundlegendes Beispiel für das Schreiben von Daten in eine Excel-Datei mit Java angesehen. Ich hoffe, dass dieses Beispiel Ihnen hilft, den Prozess des Schreibens von Daten in Excel-Dateien zu verstehen und für Ihre Projekte nützlich zu sein.
Verwenden von Stilen zum Formatieren einer Excel-Datei
Wenn Sie mit Excel-Dateien in Java arbeiten, können Sie Formatvorlagen zum Formatieren und Formatieren von Daten verwenden. Mit Stilen können Sie Farben, Schriftarten, Ausrichtung, Rahmen und andere Attribute für Zellen und Datenbereiche festlegen.
Um Stile in Java zu verwenden, müssen Sie eine Instanz der XSSFWorkbook-Klasse erstellen, bei der es sich um ein Excel-Dokument handelt. Anschließend können Sie die Stile mit der XSSFCellStyle-Klasse erstellen und auf Zellen und Datenbereiche anwenden.
Beispiel für die Verwendung eines Stils zum Dekorieren von Zellen mit XSSFWorkbook:
XSSFWorkbook workbook = new XSSFWorkbook();XSSFSheet sheet = workbook.createSheet("Sheet1");XSSFCellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());style.setFillPattern(FillPatternType.SOLID_FOREGROUND);style.setAlignment(HorizontalAlignment.CENTER);style.setVerticalAlignment(VerticalAlignment.CENTER);XSSFRow row = sheet.createRow(0);XSSFCell cell = row.createCell(0);cell.setCellValue("Hello");cell.setCellStyle(style);FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");workbook.write(fileOut);fileOut.close();workbook.close();
In diesem Beispiel wird eine XSSFWorkbook-Instanz erstellt und ein Blatt mit dem Namen "Sheet1" erstellt. Anschließend wird eine XSSFCellStyle-Instanz erstellt und die Attribute setFillForegroundColor, setFillPattern, Textausrichtung (setAlignment) und vertikale Ausrichtung (setVerticalAlignment) festgelegt.
Als nächstes werden eine Zeile (row) und eine Zelle (cell) erstellt, in die der Text "Hello" geschrieben wird. Mit der setCellStyle-Methode wird der Stil für die Zelle festgelegt.
Schließlich wird das erstellte Dokument in die Datei "workbook" geschrieben.xlsx" mit FileOutputStream.
Mithilfe von Stilen können Sie mit Java klarere und attraktivere Excel-Dateien erstellen.