当前位置:首页 > 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和PATH变量正…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成…

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为…

如何编写java程序

如何编写java程序

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