fix:89620

This commit is contained in:
梁琦涛
2024-09-05 18:03:22 +08:00
parent 2481445f1b
commit a0b97d70ad
@@ -79,6 +79,7 @@ import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task; import org.activiti.engine.task.Task;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -1083,7 +1084,7 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
exportList = BeanCopyUtils.copyBeanList(exportList2, ProcessStandardInterpretClauseSublist.class); exportList = BeanCopyUtils.copyBeanList(exportList2, ProcessStandardInterpretClauseSublist.class);
} }
resetCellMaxTextLength();
// Step.3 AutoPoi 导出Excel // Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
try { try {
@@ -1101,6 +1102,23 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
return mv; 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 @Override
public void flowCountersign(String taskId, String userId, String projectId) { public void flowCountersign(String taskId, String userId, String projectId) {
ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(