使用Apache POI创建和编辑Excel文件

网络安全侦探 2019-05-11 ⋅ 25 阅读

Apache POI是一个用于处理Microsoft Office格式文件的Java API。它提供了创建、读取和编辑Excel文件的功能,使得在Java应用程序中操作Excel文件变得更加简单和灵活。本文将向您介绍如何使用Apache POI创建和编辑Excel文件。

步骤一:引入依赖

首先,您需要在您的项目中引入Apache POI的依赖。您可以在Maven或Gradle中添加以下依赖:

Maven:

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

Gradle:

dependencies {
    implementation 'org.apache.poi:poi:5.1.0'
    implementation 'org.apache.poi:poi-ooxml:5.1.0'
}

步骤二:创建Excel文件

下面是创建Excel文件的示例代码:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelCreator {

    public static void main(String[] args) {
        try (Workbook workbook = new XSSFWorkbook()) {
            Sheet sheet = workbook.createSheet("Sheet1");

            // 创建第一行并设置表头
            Row headerRow = sheet.createRow(0);
            Cell headerCell1 = headerRow.createCell(0);
            headerCell1.setCellValue("姓名");
            Cell headerCell2 = headerRow.createCell(1);
            headerCell2.setCellValue("年龄");

            // 创建第二行并填充数据
            Row dataRow = sheet.createRow(1);
            Cell dataCell1 = dataRow.createCell(0);
            dataCell1.setCellValue("张三");
            Cell dataCell2 = dataRow.createCell(1);
            dataCell2.setCellValue(25);

            // 保存Excel文件
            try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
                workbook.write(outputStream);
            }
            System.out.println("Excel文件创建成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上述示例代码创建了一个包含一个表头和一行数据的Excel文件,并保存为"example.xlsx"。

步骤三:编辑Excel文件

使用Apache POI也可以编辑已有的Excel文件。下面是编辑Excel文件的示例代码:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class ExcelEditor {

    public static void main(String[] args) {
        try (FileInputStream inputStream = new FileInputStream("example.xlsx");
             Workbook workbook = new XSSFWorkbook(inputStream)) {

            Sheet sheet = workbook.getSheet("Sheet1");

            // 获取第二行第一个单元格并修改值
            Row dataRow = sheet.getRow(1);
            Cell dataCell1 = dataRow.getCell(0);
            dataCell1.setCellValue("李四");

            // 保存Excel文件
            try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
                workbook.write(outputStream);
            }
            System.out.println("Excel文件编辑成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上述示例代码打开了上一步创建的Excel文件,将第二行第一个单元格的值修改为"李四",并保存。

总结

通过Apache POI,我们可以方便地创建和编辑Excel文件。您可以使用这些功能来生成报表、导出数据等。希望本文能够帮助您快速上手Apache POI的Excel处理功能。如果您有任何问题或疑惑,请随时留言。


全部评论: 0

    我有话说: