From 617ac11f511edd42becaef7f6549a679c843ca6c Mon Sep 17 00:00:00 2001 From: wangguangyuan Date: Tue, 8 Jul 2025 14:13:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=AF=A6=E6=83=85=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E4=BC=98=E5=8C=96=EF=BC=8C=E4=BD=BF=E7=94=A8SXSSFWork?= =?UTF-8?q?book=E6=9D=A5=E5=A4=84=E7=90=86=E5=A4=A7=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=87=8F=EF=BC=8C=E9=81=BF=E5=85=8D=E5=86=85=E5=AD=98=E6=BA=A2?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/controller/PatrolTaskController.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java index b17e031..0357fd4 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java @@ -65,6 +65,7 @@ import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFPatriarch; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -224,13 +225,13 @@ public class PatrolTaskController extends BaseController { logger.info("---------------[TASK] query resultAnalysis {}", resultAnalysis); // 初筛数据 List filterList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); - logger.debug("---------------[TASK] query filterList {}", filterList); +// logger.debug("---------------[TASK] query filterList {}", filterList); List algInfos = patrolResultService.selectAlgInfo(new PatrolResult()); resultAnalysis.setFilter("0"); long t2 = System.currentTimeMillis(); // 大模型数据 List newList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); - logger.info("----------------[TASK] query newList {}", newList); +// logger.info("----------------[TASK] query newList {}", newList); // if (newList == null) { // return getDataTable(2, new ArrayList<>(), new ArrayList<>()); // } @@ -2468,7 +2469,7 @@ public class PatrolTaskController extends BaseController { logger.warn("图片下载失败: {}", imagePath, e); } }); - + logger.info("图片下载成功"); // exportExcel(response, newList); exportExcelStream(response, newList, streamHashMap); logger.info("任务详情导出耗时: {} ms", (System.currentTimeMillis() - start)); @@ -2481,8 +2482,8 @@ public class PatrolTaskController extends BaseController { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment; filename=\"task_export_" + System.currentTimeMillis() + ".xlsx\""); - - try (HSSFWorkbook workbook = new HSSFWorkbook(); + // 使用SXSSFWorkbook来处理大数据量,避免内存溢出 + try (SXSSFWorkbook workbook = new SXSSFWorkbook(20); ServletOutputStream out = response.getOutputStream()) { Sheet sheet = workbook.createSheet(MessageUtils.get("任务详情")); @@ -2549,7 +2550,7 @@ public class PatrolTaskController extends BaseController { row.createCell(11).setCellValue(item.getDesc()); // 分析结果 } - private void insertImages(HSSFWorkbook workbook, Drawing drawing, Sheet sheet, + private void insertImages(SXSSFWorkbook workbook, Drawing drawing, Sheet sheet, Row row, PatrolData item, Map imageCache) { try { @@ -2581,7 +2582,7 @@ public class PatrolTaskController extends BaseController { return (images.length > 0) ? images[0] : null; } - private void insertImage(HSSFWorkbook workbook, Drawing drawing, Row row, + private void insertImage(SXSSFWorkbook workbook, Drawing drawing, Row row, int colIndex, byte[] imageData) { // 计算图片位置