使用 fastexcel 实现 Excel 导出

在 Spring Boot 项目中导出 Excel 文件,通常可以使用 Apache POI 库来实现。Apache POI 是一个用于处理 Microsoft Office 格式文件的 Java 库,它可以方便地创建、读取和修改 Excel 文件。以下是一个详细的步骤和示例代码:

1. 添加依赖

pom.xml文件中添加 Apache POI 的依赖:

xml
 
<dependencies>
    <!-- Apache POI核心依赖 -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.2.3</version>
    </dependency>
    <!-- Apache POI处理XLSX格式的依赖 -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.3</version>
    </dependency>
    <!-- Spring Boot Web依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
 

2. 创建数据实体类

假设我们要导出用户信息,创建一个User类:

java
 
 
 
 
 
public class User {
    private Long id;
    private String name;
    private Integer age;

    // 构造函数
    public User(Long id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}
 

3. 创建 Excel 导出工具类

创建一个ExcelExportUtils类,用于生成 Excel 文件:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

public class ExcelExportUtils {

    public static void exportUsersToExcel(List<User> users, OutputStream outputStream) throws IOException {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();
        // 创建工作表
        Sheet sheet = workbook.createSheet("用户信息");

        // 创建表头
        Row headerRow = sheet.createRow(0);
        String[] headers = {"ID", "姓名", "年龄"};
        for (int i = 0; i < headers.length; i++) {
            Cell cell = headerRow.createCell(i);
            cell.setCellValue(headers[i]);
        }

        // 填充数据
        int rowNum = 1;
        for (User user : users) {
            Row row = sheet.createRow(rowNum++);
            row.createCell(0).setCellValue
 
 
 
 
 
 
posted @ 2025-05-08 15:13  CharyGao  阅读(1087)  评论(0)    收藏  举报