EasyExcel 导入 Excel 数据限制列数问题
使用 EasyExcel 导入 Excel 文件时,遇到只能读取 46 列数据的限制,这可能是因为 Excel 文件中的数据超出了 EasyExcel 默认的最大列数(即 48 列)。
解决方法:
-
使用
setHeadRowNumber方法设置读取的列数,例如:sheet.headRowNumber(2).doReadSync()表示从第三行开始读取数据,读取的列数为文件中的最大列数。 -
在实体类中使用
@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 文件中的所有数据。
原文地址: https://www.cveoy.top/t/topic/n8sw 著作权归作者所有。请勿转载和采集!