Heim > Java > javaLernprogramm > So exportieren und verbinden Sie Excel-Zellen in Java

So exportieren und verbinden Sie Excel-Zellen in Java

王林
Freigeben: 2023-05-10 17:16:06
nach vorne
4427 Leute haben es durchsucht

1. Vorbereitung

Bevor wir mit der Implementierung des Excel-Exports beginnen, müssen wir die folgenden Tools und Umgebungen vorbereiten:

1.JDK-Umgebung

3.Apache POI-Bibliothek

Apache POI ist eine Java-Bibliothek, die verwendet werden kann Lesen und Schreiben von Dateien in Microsoft Office-Formaten, einschließlich Excel-, Word- und PowerPoint-Dateien. Wir müssen die Apache POI-Bibliothek in das Projekt einführen.

3.Excel-Vorlage

Die Excel-Vorlage bezieht sich auf den Stil und das Format der Excel-Datei, die wir exportieren möchten, einschließlich der Spaltennamen, Zeilenhöhen, Schriftarten, Farben usw. der Tabelle. Wir können eine Vorlage in Excel erstellen und diese dann mit Daten füllen. Dadurch wird sichergestellt, dass Format und Stil der exportierten Excel-Dateien konsistent sind.

2. Implementierungsschritte

1. Erstellen Sie eine Excel-Datei

Zuerst müssen wir eine Excel-Datei in Java erstellen. Excel-Dateien können mit der Workbook-Klasse in der Apache POI-Bibliothek erstellt werden. Die Workbook-Klasse verfügt über zwei Implementierungsklassen: HSSFWorkbook und XSSFWorkbook. HSSFWorkbook wird zum Erstellen von Excel-Dateien im XLS-Format und XSSFWorkbook zum Erstellen von Excel-Dateien im XLSX-Format verwendet. Wir können die entsprechende Implementierungsklasse entsprechend unseren Anforderungen auswählen.

Hier ist der Code zum Erstellen der Excel-Datei:

// 创建工作簿
Workbook workbook = new HSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("Sheet1");
Nach dem Login kopieren

2. Füllen Sie die Tabellendaten aus

Als nächstes müssen wir die Daten in die Tabelle füllen. Excel-Tabellen können mithilfe der Klassen Row und Cell in der Apache POI-Bibliothek bearbeitet werden. „Row“ stellt eine Zeile in der Tabelle dar und „Cell“ stellt eine Zelle in der Tabelle dar. Wir können zuerst den Header erstellen und dann die Daten in die Tabelle füllen.

Das Folgende ist der Code zum Füllen der Tabellendaten:

// 创建表头行
Row headerRow = sheet.createRow(0);
// 创建表头单元格
Cell headerCell1 = headerRow.createCell(0);
headerCell1.setCellValue("姓名");
Cell headerCell2 = headerRow.createCell(1);
headerCell2.setCellValue("年龄");

// 填充数据
List<User> userList = getUserList();
for (int i = 0; i < userList.size(); i++) {
    User user = userList.get(i);
    Row dataRow = sheet.createRow(i + 1);
    Cell dataCell1 = dataRow.createCell(0);
    dataCell1.setCellValue(user.getName());
    Cell dataCell2 = dataRow.createCell(1);
    dataCell2.setCellValue(user.getAge());
}
Nach dem Login kopieren

3. Zellen zusammenführen

Wenn Sie einige Zellen in der Tabelle zusammenführen müssen, können Sie dies mit der CellRangeAddress-Klasse in der Apache POI-Bibliothek erreichen. CellRangeAddress stellt den zusammengeführten Bereich von Zellen dar, einschließlich der Startzeile, der Endzeile, der Startspalte und der Endspalte. Wir können ein CellRangeAddress-Objekt erstellen und es dann auf die Zellen in der Tabelle anwenden.

Das Folgende ist der Code zum Zusammenführen von Zellen:

// 合并单元格
CellRangeAddress region = new CellRangeAddress(0, 0, 0, 1);
sheet.addMergedRegion(region);
Nach dem Login kopieren

4. Excel-Datei exportieren

Abschließend müssen wir die generierte Excel-Datei auf lokal oder auf den Server exportieren. Excel-Dateien können mithilfe der FileOutputStream-Klasse in Java auf die Festplatte ausgegeben werden.

Das Folgende ist der Code zum Exportieren der Excel-Datei:

// 导出Excel文件
File file = new File("user.xls");
FileOutputStream fos = new FileOutputStream(file);
workbook.write(fos);
fos.close();
Nach dem Login kopieren

3. Vollständiger Code

public static void exportExcel() throws Exception {
    // 创建工作簿
    Workbook workbook = new HSSFWorkbook();
    // 创建工作表
    Sheet sheet = workbook.createSheet("Sheet1");

    // 创建表头行
    Row headerRow = sheet.createRow(0);
    // 创建表头单元格
    Cell headerCell1 = headerRow.createCell(0);
    headerCell1.setCellValue("姓名");
    Cell headerCell2 = headerRow.createCell(1);
    headerCell2.setCellValue("年龄");

    // 填充数据
    List<User> userList = getUserList();
    for (int i = 0; i < userList.size(); i++) {
        User user = userList.get(i);
        Row dataRow = sheet.createRow(i + 1);
        Cell dataCell1 = dataRow.createCell(0);
        dataCell1.setCellValue(user.getName());
        Cell dataCell2 = dataRow.createCell(1);
        dataCell2.setCellValue(user.getAge());
    }

    // 合并单元格
    CellRangeAddress region = new CellRangeAddress(0, 0, 0, 1);
    sheet.addMergedRegion(region);

    // 导出Excel文件
    File file = new File("user.xls");
    FileOutputStream fos = new FileOutputStream(file);
    workbook.write(fos);
    fos.close();
}

public static List<User> getUserList() {
    List<User> userList = new ArrayList<>();
    userList.add(new User("张三", 20));
    userList.add(new User("李四", 25));
    userList.add(new User("王五", 30));
    return userList;
}

public static class User {
    private String name;
    private int age;

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo exportieren und verbinden Sie Excel-Zellen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage