当前位置:首页 > Java

java如何导出excel

2026-04-09 07:06:28Java

使用 Apache POI 导出 Excel

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

添加依赖到 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>

创建 Excel 工作簿并写入数据:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelExporter {
    public static void exportToExcel() throws IOException {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("Name");
        headerRow.createCell(1).setCellValue("Age");

        Row dataRow = sheet.createRow(1);
        dataRow.createCell(0).setCellValue("John Doe");
        dataRow.createCell(1).setCellValue(30);

        try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
            workbook.write(outputStream);
        }
        workbook.close();
    }
}

使用 EasyExcel 导出 Excel

EasyExcel 是阿里巴巴开源的 Excel 操作工具,性能优异且易于使用。

添加 EasyExcel 依赖:

java如何导出excel

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

定义数据模型并导出:

import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;

public class ExcelExporter {
    public static class User {
        private String name;
        private int age;
        // getters and setters
    }

    public static void exportToExcel() {
        List<User> users = new ArrayList<>();
        users.add(new User("John Doe", 30));
        users.add(new User("Jane Smith", 25));

        EasyExcel.write("output.xlsx", User.class).sheet("Sheet1").doWrite(users);
    }
}

导出 Excel 的高级功能

设置单元格样式:

CellStyle style = workbook.createCellStyle();
Font font = workbook.createFont();
font.setBold(true);
style.setFont(font);
headerRow.getCell(0).setCellStyle(style);

合并单元格:

java如何导出excel

sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 1));

导出大数据量时使用流式处理:

// EasyExcel 自动支持流式写入
EasyExcel.write("large_data.xlsx", User.class)
    .sheet("Sheet1")
    .doWrite(dataList);

导出 Excel 的注意事项

文件路径需要确保有写入权限,否则会抛出异常。

对于大数据量导出,建议使用流式处理或分批次写入,避免内存溢出。

导出的文件格式可以是 .xls(HSSFWorkbook)或 .xlsx(XSSFWorkbook),后者支持更大的数据量。

在实际项目中,通常会将导出功能封装为服务,并提供下载接口供前端调用。

标签: javaexcel
分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

如何运行java程序

如何运行java程序

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

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…