当前位置:首页 > Java

java如何导出excel

2026-02-04 22:46:56Java

使用 Apache POI 导出 Excel

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

添加依赖 在 Maven 项目的 pom.xml 中添加以下依赖:

<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 文件 以下代码演示如何创建一个简单的 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("姓名");
        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);
        }
        workbook.close();
    }
}

使用 EasyExcel 导出 Excel

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

添加依赖pom.xml 中添加 EasyExcel 依赖:

java如何导出excel

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

定义数据模型 创建一个简单的数据模型类:

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

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

导出 Excel 使用 EasyExcel 导出数据到 Excel:

public class EasyExcelExporter {
    public static void exportToExcel() {
        List<UserData> dataList = new ArrayList<>();
        dataList.add(new UserData("张三", 25));
        dataList.add(new UserData("李四", 30));

        String fileName = "easyexcel_output.xlsx";
        EasyExcel.write(fileName, UserData.class).sheet("用户数据").doWrite(dataList);
    }
}

处理大数据量导出

对于大数据量导出,可以使用分页查询和流式写入,避免内存溢出。

java如何导出excel

分页查询与写入 以下示例展示如何分页处理数据并写入 Excel:

public class LargeDataExporter {
    public static void exportLargeData() {
        String fileName = "large_data.xlsx";
        ExcelWriter excelWriter = EasyExcel.write(fileName, UserData.class).build();

        try {
            WriteSheet writeSheet = EasyExcel.writerSheet("大数据").build();

            // 模拟分页查询
            int pageSize = 1000;
            for (int page = 1; page <= 10; page++) {
                List<UserData> data = queryDataByPage(page, pageSize);
                excelWriter.write(data, writeSheet);
            }
        } finally {
            excelWriter.finish();
        }
    }

    private static List<UserData> queryDataByPage(int page, int pageSize) {
        // 实现分页查询逻辑
        return new ArrayList<>();
    }
}

自定义样式与格式

可以通过设置单元格样式调整字体、颜色、对齐方式等。

设置单元格样式 以下代码展示如何设置单元格样式:

public class StyleExporter {
    public static void exportWithStyle() throws IOException {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("样式示例");

        // 创建字体样式
        Font headerFont = workbook.createFont();
        headerFont.setBold(true);
        headerFont.setColor(IndexedColors.BLUE.getIndex());

        // 创建单元格样式
        CellStyle headerStyle = workbook.createCellStyle();
        headerStyle.setFont(headerFont);
        headerStyle.setAlignment(HorizontalAlignment.CENTER);

        // 应用样式
        Row headerRow = sheet.createRow(0);
        Cell headerCell = headerRow.createCell(0);
        headerCell.setCellValue("带样式的表头");
        headerCell.setCellStyle(headerStyle);

        // 写入文件
        try (FileOutputStream outputStream = new FileOutputStream("styled_output.xlsx")) {
            workbook.write(outputStream);
        }
        workbook.close();
    }
}

以上方法涵盖了从基础导出到高级功能的需求,可以根据具体场景选择适合的方案。

标签: javaexcel
分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

如何搭建java开发环境

如何搭建java开发环境

下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK版本。运行安装程序并按照提示完成安装,建议选择默认路径以减少配置复杂度。 配置环境变量 在系统环境变量中添加JAVA_HO…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…

eclipse如何创建java

eclipse如何创建java

在Eclipse中创建Java项目 打开Eclipse后,选择菜单栏中的"File" -> "New" -> "Java Project"。在弹出的对话框中输入项目名称,确保"Use de…