From 9b8f9dcc968e938e8ef388a602139ef065dedc31 Mon Sep 17 00:00:00 2001 From: tanghaihao <850814414@qq.com> Date: Fri, 18 Aug 2023 17:06:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=AF=BC=E5=87=BA=E6=8E=92?= =?UTF-8?q?=E7=8F=AD=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../duty/controller/ImsDutyMainController.java | 3 +++ .../hzims/operational/duty/utils/ExcelTool.java | 27 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/utils/ExcelTool.java diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/controller/ImsDutyMainController.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/controller/ImsDutyMainController.java index 48b64ed..df43d2c 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/controller/ImsDutyMainController.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/controller/ImsDutyMainController.java @@ -10,6 +10,7 @@ import com.hnac.hzims.operational.duty.entity.ImsDutyMainEntity; import com.hnac.hzims.operational.duty.entity.ImsDutyMainReportExcel; import com.hnac.hzims.operational.duty.service.IImsDutyMainService; import com.hnac.hzims.operational.duty.utils.ExcelMergeHandler; +import com.hnac.hzims.operational.duty.utils.ExcelTool; import com.hnac.hzims.operational.duty.vo.ChangeDutyMainVo; import com.hnac.hzims.operational.duty.vo.HomePageDutyMainInfoVo; import com.hnac.hzims.operational.duty.vo.ImsSchedulingVo; @@ -246,6 +247,8 @@ public class ImsDutyMainController extends BladeController { int mergeRowIndex = 2; // 需要合并的列 int[] mergeColumeIndex = {0}; + + ExcelTool.resetCellMaxTextLength(); // 导出Excel,合并第一列相同内容的单元格 EasyExcel.write(response.getOutputStream(), ImsDutyMainReportExcel.class) .registerWriteHandler(new ExcelMergeHandler(mergeRowIndex, mergeColumeIndex)).sheet().doWrite(list); diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/utils/ExcelTool.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/utils/ExcelTool.java new file mode 100644 index 0000000..a0d56b3 --- /dev/null +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/duty/utils/ExcelTool.java @@ -0,0 +1,27 @@ +package com.hnac.hzims.operational.duty.utils; + +import org.apache.poi.ss.SpreadsheetVersion; + +import java.lang.reflect.Field; + +/** + * 设置Excel导出的最大字符数 + * @author tanghaihao + * @date 2023年08月18日 16:40 + */ +public class ExcelTool { + + public static void resetCellMaxTextLength() { + SpreadsheetVersion excel2007 = SpreadsheetVersion.EXCEL2007; + if (Integer.MAX_VALUE != excel2007.getMaxTextLength()) { + Field field; + try { + field = excel2007.getClass().getDeclaredField("_maxTextLength"); + field.setAccessible(true); + field.set(excel2007, Integer.MAX_VALUE); + } catch (Exception e) { + e.printStackTrace(); + } + } + } +}