java导入excel接口校验excel版本是否匹配

07-02 1048阅读

在业务开发中,一个功能有三四个版本的时候,对应的excel导入模板也是不同的,这个时候对于不同的导入接口就需要进行excel导入模板的校验。

java导入excel接口校验excel版本是否匹配
(图片来源网络,侵删)

1.思路

思想1:校验当前接口对应的dto字段列是否与当前excel对应的表头是否匹配。

思想2:模板中创建一个隐藏sheet,每次导入的时候读取隐藏sheet的sheet名

思想3:读取当前sheet的sheet名并比对该接口应该对应的sheet名

2.代码实现

2.1 校验excel表头代码

	// 判断双方的导入列是否一致。true一致,false不一致
    private static boolean verifyExcelVersion(Class clazz, Sheet sheet) {
        List fields = getImportFields(clazz);
        List classFieldList = fields.stream().map(item -> {
            return item.getAnnotation(MyExcel.class).name();
        }).collect(Collectors.toList());
        Row headRow = sheet.getRow(0);
        int headRowCount = headRow.getLastCellNum() - headRow.getFirstCellNum();
        // 读取excel表头
        List headStringList = new ArrayList();
        for (int c = 0; c  field.isAnnotationPresent(MyExcel.class)
        ).sorted(
                Comparator.comparing(field -> field.getAnnotation(MyExcel.class).sort())
        ).collect(Collectors.toList());
        return collect;
    }

引用代码

        boolean verifyExcelVersion = verifyExcelVersion(clazz, sheet);
        if (!verifyExcelVersion) {
            throw new RunTimeException("导入模板异常");
        }
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]