使用 EasyExcel 导入 Excel 文件时,遇到只能读取 46 列数据的限制,这可能是因为 Excel 文件中的数据超出了 EasyExcel 默认的最大列数(即 48 列)。

解决方法:

  1. 使用 setHeadRowNumber 方法设置读取的列数,例如:sheet.headRowNumber(2).doReadSync() 表示从第三行开始读取数据,读取的列数为文件中的最大列数。

  2. 在实体类中使用 @ExcelProperty 注解来指定读取的列数。

例如:

@RequestMapping('uploadExcel')
@Description('excel导入')
@ResponseBody
public CommonResponse uploadExcel(MultipartFile file) {
    if (!ExcelUtils.isExcel(file.getOriginalFilename())) {
        return CommonResponse.buildErrorMessageResponse(DoResultType.fail.getValue(), '文件格式错误');
    }
    try {
        // 读取excel文件
        ExcelReaderBuilder read = EasyExcel.read(file.getInputStream(), SalaryData.class, null);
        ExcelReaderSheetBuilder sheet = read.sheet(0);
        List<SalaryData> salaryDataList = sheet.headRowNumber(2).doReadSync();
        StringBuilder stringBuilder = new StringBuilder();
    } catch (Exception e) {
        e.printStackTrace();
        return CommonResponse.buildErrorMessageResponse(DoResultType.fail.getValue(), e.getMessage());
    }
    return CommonResponse.buildNormalMessageResponse('成功导入数据');
}

通过以上方法,可以解决 EasyExcel 导入 Excel 数据时,读取列数限制的问题,确保能够完整读取 Excel 文件中的所有数据。

EasyExcel 导入 Excel 数据限制列数问题

原文地址: https://www.cveoy.top/t/topic/n8sw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录