easyexcel 导入excel时,如何处理缺少几列的模板

k2arahey  于 5个月前  发布在  其他
关注(0)|答案(5)|浏览(59)

问题描述

导入和导出使用同样的数据结构,但是数据在导出的过程中使用了excludeColumnIndexes函数屏蔽了几列,如果需要使用该导出文件作为导入文件的模板的情况下,导入该如何处理才能忽略这缺失的几列,让数据正确解析。

nszi6y05

nszi6y051#

使用excludeColumnIndexes函数是为了在使用同一个数据结构下,能够根据场景动态的屏蔽其中一些字段,但是导入好像没有这样的能力

tvz2xvvm

tvz2xvvm2#

你导入的时候,是通过index匹配还是通过Name匹配呢

3wabscal

3wabscal3#

每个字段都标注了ExcelProperty注解,注解上同时使用了value和index

k0pti3hp

k0pti3hp4#

每个字段都标注了ExcelProperty注解,注解上同时使用了value和index

来一点代码和Excel截图

cgfeq70w

cgfeq70w5#

public class DemoDto {

    @ExcelProperty(value = "demo_key1", index = 0)
    private Long demo1;

    @ExcelProperty(value = "demo_key2", index = 1)
    private String demo2;

    @ExcelProperty(value = "inputValue", index = 2)
    private String inputValue;
}

导出的时候构建WriteSheet,使用excludeColumnIndexes函数来屏蔽第一列(其实就是想根据场景动态的隐藏列,又需要在此基础上完成导入)

EasyExcel.writerSheet(sheetIndex)
.sheetName(sheetName)
.excludeColumnIndexes(Lists.newArrayList(0))
.head(head)
.build();

这种情况下导出的excel,会缺少第一列。
如果在同样使用DemoDto的作为导入的数据结构的基础上,并且将这个导出excel作为基础,填充了inputValue列,能够正确的解析数据吗。

相关问题