diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java index fc3c2d16..407a0036 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java @@ -79,6 +79,7 @@ import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.SpreadsheetVersion; import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -1083,7 +1084,7 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe exportList = BeanCopyUtils.copyBeanList(exportList2, ProcessStandardInterpretClauseSublist.class); } - + resetCellMaxTextLength(); // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); try { @@ -1101,6 +1102,23 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe return mv; } + public static void resetCellMaxTextLength() { + SpreadsheetVersion excel2007 = SpreadsheetVersion.EXCEL2007; + if (Integer.MAX_VALUE != excel2007.getMaxTextLength()) { + Field field; + try { + // SpreadsheetVersion.EXCEL2007的_maxTextLength变量 + field = excel2007.getClass().getDeclaredField("_maxTextLength"); + // 关闭反射机制的安全检查,可以提高性能 + field.setAccessible(true); + // 重新设置这个变量属性值 + field.set(excel2007, Integer.MAX_VALUE); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + @Override public void flowCountersign(String taskId, String userId, String projectId) { ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(