主题
导出Excel工具
通过注解方式,实现简易的导出excel数据。导出工具文档参考:
https://idev.cn/fastexcel/zh-CN/docs
引入依赖
xml
<dependency>
<groupId>com.wueasy.cloud</groupId>
<artifactId>wueasy-cloud-web-excel</artifactId>
<version>最新版本</version>
</dependency>
注解使用
通过注解
@ExportExcel
快速实现导出excel。
参数说明
fileName
:导出的文件名称head
:头部class
使用示例
- 分页参数对象必须使用
BasePageDto
或者继承BasePageDto
- 列表数据返回对象参考
ResultVo<List<ExportExcelVo>>
- 分页数据返回对象参考
ResultVo<PageVo<ExportExcelVo>>
- 分页数据返回对象参考
java
@RestController
@RequestMapping("/export")
public class ExportController
{
@GetMapping("/demo1")
@ExportExcel(fileName = "测试",head =ExportExcelVo.class )
public ResultVo<List<ExportExcelVo>> demo1(HttpServletRequest request,HttpServletResponse response) {
List<ExportExcelVo> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
ExportExcelVo vo = new ExportExcelVo();
vo.setString("no_"+i);
vo.setDate(new Date());
vo.setDoubleData(new Random().nextDouble());
list.add(vo);
}
return ResultVo.ok(list);
}
@GetMapping("/demo2")
@ExportExcel(fileName = "测试分页",head =ExportExcelVo.class )
public ResultVo<PageVo<ExportExcelVo>> demo2(BasePageDto dto,HttpServletRequest request,HttpServletResponse response) {
List<ExportExcelVo> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
ExportExcelVo vo = new ExportExcelVo();
vo.setString("no_"+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(10);
page.setPages(6);
return ResultVo.ok(page);
}
}
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; // 第二列留空
}