EasyExcel导入在索引、类型都正确的情况下导入失败

EasyExcel导入在索引、类型都正确的情况下导入失败

EasyExcel

       使用 EasyExcel 导入时出现了一些错误,在此记录一下,方便下次查找。

错误详情

        在使用测试表导入时没有出错,但在换了在公司中真正使用的表时,表格后半部分的数据并未存储到实体类中。把每个空格都填满后,显示java类型与表格类型不匹配。

找到问题

       经过检查发现索引值与Excel表格中的数据的顺序是一样的。在把所有的数据改为数字类型后,发现索引为29的表格数据插入到索引为33的字段中。再次检查顺序发现列号为AI-AM的列被删除。

解决问题

       在把字段上的索引与Excel的列号匹配后,表格的数据成功导入。

总结

       EasyExcel的索引值与Excel的数据的顺序无关,与列号有关。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用 EasyExcel导入表格。首先,确保你已经在项目中引入了 EasyExcel 的依赖。然后,你可以按照以下步骤来导入表格: 1. 创建一个 ExcelReader 对象,并指定要导入的 Excel 文件路径或输入流。 2. 使用 ExcelReader 对象的 read 方法来读取 Excel 文件。你可以指定要读取的 Sheet 名称或索引。 3. 在读取每一行数据时,你可以通过实现 AnalysisEventListener 接口来处理行数据。例如,你可以重写 onSheet 方法来处理整个 Sheet 的数据,或者重写 invoke 方法来处理每一行的数据。 4. 在处理每一行数据时,你可以根据需要获取每一列的值并进行相应的操作。 下面是一个示例代码片段,演示如何使用 EasyExcel 导入表格: ```java // 创建 ExcelReader 对象 ExcelReader excelReader = EasyExcel.read("path/to/excel/file.xlsx").build(); // 设置 AnalysisEventListener 处理数据 AnalysisEventListener<YourDataEntity> listener = new AnalysisEventListener<YourDataEntity>() { @Override public void invoke(YourDataEntity data, AnalysisContext context) { // 处理每一行数据,可以根据需要进行操作 System.out.println("Read data: " + data); } @Override public void doAfterAllAnalysed(AnalysisContext context) { // 数据读取完成后的操作 // 例如,可以关闭资源或进行其他处理 excelReader.finish(); } }; // 读取 Excel 文件 excelReader.read(new Sheet(1, 1, YourDataEntity.class), listener); ``` 在上面的示例中,你需要将 YourDataEntity 替换为你实际的数据实体类,以便正确地读取和处理每一行数据。另外,根据你的需求,你也可以调整和扩展代码来满足你的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值