主题切换
📊 Excel导出工具
📖 功能介绍
TIP
Excel导出工具提供了一种简单高效的方式来导出数据到Excel文件。通过注解方式实现,简化了开发流程,提高了开发效率。
🚀 快速开始
1. 添加依赖
xml
<dependency>
<groupId>com.wueasy.cloud</groupId>
<artifactId>wueasy-cloud-web-excel</artifactId>
<version>${latest.version}</version>
</dependency>
2. 定义导出实体类
java
@Data
public class ExportExcelVo {
@ExcelProperty(value = "字符串字段", index = 0)
private String string;
@ExcelProperty(value = "日期字段", index = 1)
private Date date;
@ExcelProperty(value = "数值字段", index = 3)
private Double doubleData; // index = 2 的列将保持为空
}
⚙️ 配置说明
@ExportExcel 注解参数
参数 | 说明 | 必填 | 示例 |
---|---|---|---|
fileName | 导出文件名称 | 是 | "用户数据" |
head | 导出数据对象类 | 是 | UserExcelVo.class |
@ExcelProperty 注解参数
参数 | 说明 | 必填 | 示例 |
---|---|---|---|
value | 列标题 | 是 | "用户名" |
index | 列序号 | 是 | 0 |
💡 使用示例
1. 普通列表导出
java
@RestController
@RequestMapping("/export")
public class ExportController {
@GetMapping("/list")
@ExportExcel(fileName = "用户列表", head = ExportExcelVo.class)
public ResultVo<List<ExportExcelVo>> exportList() {
// 准备导出数据
List<ExportExcelVo> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
ExportExcelVo vo = new ExportExcelVo();
vo.setString("用户_" + i);
vo.setDate(new Date());
vo.setDoubleData(new Random().nextDouble());
list.add(vo);
}
return ResultVo.ok(list);
}
}
2. 分页数据导出
java
@GetMapping("/page")
@ExportExcel(fileName = "分页数据", head = ExportExcelVo.class)
public ResultVo<PageVo<ExportExcelVo>> exportPage(BasePageDto dto) {
// 准备分页数据
List<ExportExcelVo> list = new ArrayList<>();
for (int i = 0; i < dto.getPageSize(); i++) {
ExportExcelVo vo = new ExportExcelVo();
vo.setString("数据_" + i);
vo.setDate(new Date());
vo.setDoubleData(new Random().nextDouble());
list.add(vo);
}
// 构建分页对象
PageVo<ExportExcelVo> page = new PageVo<>();
page.setList(list);
page.setPageNum(dto.getPageNum());
page.setPageSize(dto.getPageSize());
page.setPages(6);
return ResultVo.ok(page);
}
📝 注意事项
数据对象要求
- 分页参数必须继承
BasePageDto
- 列表数据返回格式:
ResultVo<List<T>>
- 分页数据返回格式:
ResultVo<PageVo<T>>
- 分页参数必须继承
性能建议
- 大数据量建议使用分页导出
- 合理设置每页数据量
- 添加导出进度提示
格式说明
- 日期类型会自动格式化
- 数值类型保持原格式
- 支持列的间隔设置
🔍 常见问题
导出失败排查
- 检查注解参数配置
- 验证返回数据格式
- 确认文件名编码
格式异常处理
- 检查数据类型匹配
- 验证日期格式配置
- 确认列索引设置