Java在Spring项目中如何导出Excel表格(使用Easy

2022-08-04  本文已影响0人  王月亮17

工作中经常会遇到需要导出数据的需求,这种需求怎么实现呢?今天就来说一说。

  1. 导入依赖:
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.5</version>
</dependency>
  1. 声明一个要导出字段的实体类:
@Data
@ToString
public class ExcelBean implements Serializable {
    private static final long serialVersionUID = 767640658573170069L;

    @ExcelProperty("字段一")
    @ColumnWidth(20)
    private String fieldOne;
    @ExcelProperty("字段二")
    @ColumnWidth(24)
    private String fieldTwo;
}

其中@ExcelProperty会显示在Excel的表头,@ColumnWidth是这一列的宽度。

  1. 查询数据,这里就不写代码了,按照自己的需求去查询;
  2. 声明一个Set,把本次要写入Excel的字段都添加到Set里。这里可以灵活一些,比如可以按照不同的类型导出不同的字段。
Set<String> includeColumnFiledNames = new HashSet<String>();
includeColumnFiledNames.add("fieldOne");
if(type == Constants.OK){
    includeColumnFiledNames.add("fieldTwo");
}

这样只有type等于OK的时候才会导出字段二。

  1. 将Excel写入response的输出流:
EasyExcel.write(response.getOutputStream(), ExcelBean.class).includeColumnFiledNames(includeColumnFiledNames【Set的变量名】).sheet("【导出的Excel名称】.xlsx").doWrite(【查出来的数据】);

这样就完成了一个简单的Excel文件下载操作。

上一篇下一篇

猜你喜欢

热点阅读