From 34d36a15f339d331d668d4063cfdff50cffa5800 Mon Sep 17 00:00:00 2001
From: zhou zhou <zozhouo3o@gmail.com>
Date: 星期五, 17 四月 2026 15:11:32 +0800
Subject: [PATCH] #导出服务
---
rsf-server/src/main/java/com/vincent/rsf/server/common/service/ListExportService.java | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/service/ListExportService.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/ListExportService.java
index 7482860..be6e089 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/service/ListExportService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/ListExportService.java
@@ -3,6 +3,7 @@
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.utils.ExcelUtil;
+import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Service;
import jakarta.servlet.http.HttpServletResponse;
@@ -35,6 +36,15 @@
ListExportHandler<T, P> exportHandler,
HttpServletResponse response
) throws Exception {
+ ExportWorkbook exportWorkbook = prepareExportWorkbook(map, paramBuilder, exportHandler);
+ ExcelUtil.build(exportWorkbook.workbook(), response);
+ }
+
+ public <T, P extends BaseParam> ExportWorkbook prepareExportWorkbook(
+ Map<String, Object> map,
+ Function<Map<String, Object>, P> paramBuilder,
+ ListExportHandler<T, P> exportHandler
+ ) {
Map<String, Object> sanitizedMap = sanitizeExportMap(map);
P baseParam = paramBuilder.apply(sanitizedMap);
List<ExcelUtil.ExportColumn> columns = buildExportColumns(map);
@@ -50,7 +60,12 @@
.toList();
ExcelUtil.ExportMeta exportMeta = buildExportMeta(map, rows.size(), exportHandler.defaultReportTitle());
- ExcelUtil.build(ExcelUtil.create(rows, columns, exportMeta), response);
+ return new ExportWorkbook(
+ ExcelUtil.create(rows, columns, exportMeta),
+ rows.size(),
+ exportMeta,
+ columns
+ );
}
private Map<String, Object> sanitizeExportMap(Map<String, Object> map) {
@@ -171,4 +186,12 @@
}
return reportStyle;
}
+
+ public record ExportWorkbook(
+ Workbook workbook,
+ int rowCount,
+ ExcelUtil.ExportMeta exportMeta,
+ List<ExcelUtil.ExportColumn> columns
+ ) {
+ }
}
--
Gitblit v1.9.1