# easy-excel-export **Repository Path**: k_le/easy-excel-export ## Basic Information - **Project Name**: easy-excel-export - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-03 - **Last Updated**: 2025-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Excel导出功能示例 本项目是一个基于Spring Boot 2.7.6和EasyExcel实现的Excel导出功能示例,主要展示了如何使用EasyExcel导出Excel文件,包括评标代表导出和供应商分级分类导出两个示例。 ## 项目结构 ``` src ├── main │ ├── java │ │ └── com │ │ └── example │ │ └── exceldemo │ │ ├── ExcelDemoApplication.java (主应用类) │ │ ├── controller │ │ │ └── ExcelExportController.java (控制器) │ │ ├── model │ │ │ ├── BidEvaluationRepresentative.java (评标代表实体类) │ │ │ └── SupplierClassification.java (供应商分级分类实体类) │ │ └── service │ │ ├── ExcelExportService.java (服务接口) │ │ └── impl │ │ └── ExcelExportServiceImpl.java (服务实现类) │ └── resources │ └── static │ └── index.html (首页) └── test └── java └── com └── example └── exceldemo └── service └── ExcelExportServiceTest.java (测试类) ``` ## 技术栈 - Spring Boot 2.7.6 - EasyExcel 4.0.2 - Lombok - JUnit 5 ## 功能特点 1. 使用EasyExcel注解实现Excel导出 2. 支持自定义列宽、列名和列顺序 3. 提供测试数据生成功能 4. 包含完整的单元测试 5. 提供Web界面进行导出操作 ## 使用方法 ### 1. 启动应用 ```bash ./mvnw spring-boot:run ``` 或者使用IDE直接运行`ExcelDemoApplication`类。 ### 2. 访问Web界面 打开浏览器访问:http://localhost:8080 ### 3. 导出Excel - 点击「导出评标代表Excel」按钮,可以导出评标代表信息 - 点击「导出供应商分级分类Excel」按钮,可以导出供应商分级分类信息 - 可以通过输入框调整导出的数据条数 ### 4. API接口 - 导出评标代表:`GET /excel/export/bid-representatives?count=10` - 导出供应商分级分类:`GET /excel/export/supplier-classifications?count=10` ## 核心代码说明 ### 1. 实体类注解 ```java @Data public class BidEvaluationRepresentative { @ExcelProperty(value = "序号", index = 0) @ColumnWidth(10) private Integer id; @ExcelProperty(value = "姓名", index = 1) @ColumnWidth(15) private String name; // 其他字段... } ``` ### 2. 导出方法 ```java public void exportBidEvaluationRepresentatives(HttpServletResponse response, List dataList) throws IOException { // 设置响应头信息 setExcelResponseHeaders(response, "评标代表信息"); // 使用EasyExcel写入数据 EasyExcel.write(response.getOutputStream(), BidEvaluationRepresentative.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自适应列宽 .sheet("评标代表信息") .doWrite(dataList); } ``` ## 测试 运行测试类`ExcelExportServiceTest`可以验证导出功能是否正常。 ```bash ./mvnw test ``` ## 注意事项 1. 本示例使用了EasyExcel 4.0.2版本,与Spring Boot 2.7.6兼容 2. 导出大量数据时,EasyExcel会自动处理内存问题,避免OOM 3. 实体类中的字段可以通过`@ExcelIgnore`注解排除不需要导出的字段