报错原因:
write javaBean error, fastjson version 1.2.76, class org.apache.poi.xssf.usermodel.XSSFWorkbook, write javaBean error, fastjson version 1.2.76, class org.apache.xmlbeans.impl.schema.SchemaTypeImpl, fieldName : _schema_type, write javaBean error, fastjson version 1.2.76, class org.apache.xmlbeans.impl.schema.SchemaTypeImpl, fieldName : baseType
解决方式:
//转码
Workbook workbook = WorkbookFactory.create(file.getInputStream());
// 将Excel文件进行Base64转码
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
workbook.write(byteArrayOutputStream);
byte[] bytes = byteArrayOutputStream.toByteArray();
String base64ExlCode = Base64Utils.encodeToString(bytes);
redisCache.setCacheObject("ALM_xbrl_ability_workbook", base64ExlCode);
//解码
String base64ExlCode = redisCache.getCacheObject("ALM_xbrl_ability_workbook");
// 解码为byte数组
byte[] byteArray = Base64.getDecoder().decode(base64ExlCode);
// 将byte数组转化为输入流
InputStream inputStream = new ByteArrayInputStream(byteArray);
Workbook workbook = WorkbookFactory.create(inputStream);