EasyExcel实现数据的导入和导出

第一步、导入依赖

  <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel-core</artifactId>
            <version>3.2.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml-schemas</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

以上的导入依赖是导入EasyExcel库的核心模块,并排除了一些与Apache POI相关的依赖项。通过排除这些依赖,可能是因为EasyExcel库本身已经包含了所需的功能,避免了冲突或重复依赖的问题。 


第二步、在你需要导出数据的实体类的字段加上注解

ExcelProperty注解用于匹配excel和实体类字段之间的关系。

@Data

public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    @ExcelProperty(value = "id", index = 0)
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ExcelProperty(value = "名称", index = 1)
    @ApiModelProperty(value = "名称")
    @TableField("name")
    private String name;

}

如果所有字段都不加index的话,默认index会从0开始,之后字段的index就从0开始递增,依次类推。index决定了该字段数据会赋值给Excel中的第几列。

如果不想按这个顺序把数据写到Excel当中。那么就可以手动设置index的值,把字段写到想要的列中去。


第三步、数据的导出

 public AjaxResult exportTemplate(@RequestParam String filePath) {
        List<Object> values=new ArrayList<>();
//想导出什么数据,values就放什么数据 object是你的实体类
        try {
            EasyExcel.write(filePath, Object.class).sheet("sheet名称").doWrite(values);
        } catch (Exception e) {
            e.printStackTrace();
            return AjaxResult.error("导出数据失败");
        }
        return AjaxResult.success("导出数据成功");
    }

数据的导入

  public List<Object> importFile(MultipartFile file) throws Exception {
        List<Object> list=new ArrayList<>();
        InputStream inputStream = file.getInputStream();
        try {
            list = EasyExcel.read(inputStream).head(Object.class).sheet(0).doReadSync();
        } catch (Exception e) {
            System.out.println("导入Excel文件出现异常:" + e.getMessage());
        }

        return list;

    }

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值