当前位置:首页 > Java

java如何导出excel表格

2026-03-04 08:20:47Java

使用 Apache POI 库导出 Excel

Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式文件,包括 Excel。以下是使用 POI 导出 Excel 的基本步骤。

确保在项目中添加 Apache POI 依赖。Maven 项目中可以添加以下依赖:

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

创建一个工作簿(Workbook)对象,可以是 HSSFWorkbook(.xls 格式)或 XSSFWorkbook(.xlsx 格式):

Workbook workbook = new XSSFWorkbook(); // 适用于 .xlsx
Sheet sheet = workbook.createSheet("Sheet1");

在工作表中创建行(Row)和单元格(Cell),并填充数据:

Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");

Row dataRow = sheet.createRow(1);
dataRow.createCell(0).setCellValue("张三");
dataRow.createCell(1).setCellValue(25);

将工作簿写入文件或输出流:

try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
    workbook.write(outputStream);
} catch (IOException e) {
    e.printStackTrace();
}

使用 EasyExcel 库导出 Excel

EasyExcel 是阿里巴巴开源的 Excel 操作工具,性能优异且 API 简洁。

添加 EasyExcel 依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.3.2</version>
</dependency>

定义一个数据模型类,用于映射 Excel 列:

@Data
public class UserData {
    @ExcelProperty("姓名")
    private String name;

    @ExcelProperty("年龄")
    private Integer age;
}

使用 EasyExcel 写入数据到 Excel 文件:

List<UserData> dataList = new ArrayList<>();
dataList.add(new UserData("张三", 25));
dataList.add(new UserData("李四", 30));

String fileName = "output.xlsx";
EasyExcel.write(fileName, UserData.class).sheet("Sheet1").doWrite(dataList);

处理大数据量导出

对于大数据量导出,可以使用 POI 的 SXSSFWorkbook 或 EasyExcel 的流式写入,避免内存溢出。

使用 SXSSFWorkbook:

SXSSFWorkbook workbook = new SXSSFWorkbook(100); // 保留 100 行在内存中
Sheet sheet = workbook.createSheet("Sheet1");

for (int i = 0; i < 10000; i++) {
    Row row = sheet.createRow(i);
    row.createCell(0).setCellValue("数据" + i);
}

try (FileOutputStream outputStream = new FileOutputStream("large.xlsx")) {
    workbook.write(outputStream);
}
workbook.dispose(); // 清理临时文件

使用 EasyExcel 流式写入:

String fileName = "large.xlsx";
EasyExcel.write(fileName, UserData.class)
    .sheet("Sheet1")
    .doWrite(dataList); // dataList 可以是分批加载的数据

java如何导出excel表格

标签: 表格java
分享给朋友:

相关文章

java如何下载

java如何下载

下载Java的步骤 访问Oracle官方网站或OpenJDK项目页面下载Java开发工具包(JDK)。Oracle JDK适用于商业用途,OpenJDK为开源版本。 打开浏览器,进入Oracle…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &…

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…