From 34c68b7619b9bf86175cb86ebca36bdfc46c3944 Mon Sep 17 00:00:00 2001 From: liushuang Date: Wed, 5 Nov 2025 14:24:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(table):=20=E8=AE=BE=E7=BD=AE=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=A1=A8=E6=A0=BC=E6=A0=B7=E5=BC=8F=E5=B9=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=85=8D=E7=BD=AE=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 FsApiUtil 中调用 FsTableUtil 设置默认表格样式 - 新增 getDefaultTableStyle 方法用于构建默认样式 - 修改 MapSheetConfig 中表头背景色和字体颜色默认值 - 引入 TableConf 和 MapSheetConfig 类以支持样式配置 --- .../java/cn/isliu/core/config/MapSheetConfig.java | 4 ++-- src/main/java/cn/isliu/core/utils/FsApiUtil.java | 13 ++++++++++++- src/main/java/cn/isliu/core/utils/FsTableUtil.java | 10 ++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/cn/isliu/core/config/MapSheetConfig.java b/src/main/java/cn/isliu/core/config/MapSheetConfig.java index ca2eb4c..7690214 100644 --- a/src/main/java/cn/isliu/core/config/MapSheetConfig.java +++ b/src/main/java/cn/isliu/core/config/MapSheetConfig.java @@ -21,12 +21,12 @@ public class MapSheetConfig extends MapTableConfig { /** * 表头字体颜色(十六进制,如 #ffffff) */ - private String headFontColor = "#ffffff"; + private String headFontColor = "#000000"; /** * 表头背景颜色(十六进制,如 #000000) */ - private String headBackColor = "#000000"; + private String headBackColor = "#cccccc"; /** * 是否将单元格设置为纯文本格式 diff --git a/src/main/java/cn/isliu/core/utils/FsApiUtil.java b/src/main/java/cn/isliu/core/utils/FsApiUtil.java index 59e38d5..1f5cfd9 100644 --- a/src/main/java/cn/isliu/core/utils/FsApiUtil.java +++ b/src/main/java/cn/isliu/core/utils/FsApiUtil.java @@ -5,7 +5,9 @@ import cn.isliu.core.Reply; import cn.isliu.core.Sheet; import cn.isliu.core.SheetMeta; import cn.isliu.core.ValuesBatch; +import cn.isliu.core.annotation.TableConf; import cn.isliu.core.client.FeishuClient; +import cn.isliu.core.config.MapSheetConfig; import cn.isliu.core.exception.FsHelperException; import cn.isliu.core.logging.FsLogger; import cn.isliu.core.pojo.ApiResponse; @@ -440,7 +442,16 @@ public class FsApiUtil { batchPutValuesBuilder.addRange(sheetId + "!A" + titleRow + ":" + position + titleRow); batchPutValuesBuilder.addRow(headers.toArray()); - return FsApiUtil.putValues(spreadsheetToken, batchPutValuesBuilder.build(), client); + Object putValues = FsApiUtil.putValues(spreadsheetToken, batchPutValuesBuilder.build(), client); + + String[] positionArr = {"A" + titleRow, position + titleRow}; + MapSheetConfig config = MapSheetConfig.createDefault(); + + CustomCellService.StyleCellsBatchBuilder defaultTableStyle = FsTableUtil.getDefaultTableStyle(sheetId, positionArr, + config.getHeadBackColor(), config.getHeadFontColor()); + + FsApiUtil.setTableStyle(defaultTableStyle, client, spreadsheetToken); + return putValues; } /** diff --git a/src/main/java/cn/isliu/core/utils/FsTableUtil.java b/src/main/java/cn/isliu/core/utils/FsTableUtil.java index 23a1ec9..9032c5c 100644 --- a/src/main/java/cn/isliu/core/utils/FsTableUtil.java +++ b/src/main/java/cn/isliu/core/utils/FsTableUtil.java @@ -831,6 +831,16 @@ public class FsTableUtil { return styleCellsBatchBuilder; } + public static CustomCellService.StyleCellsBatchBuilder getDefaultTableStyle(String sheetId, String[] position, + String backColor, String foreColor) { + + CustomCellService.StyleCellsBatchBuilder styleCellsBatchBuilder = CustomCellService.CellRequest.styleCellsBatch() + .addRange(sheetId, position[0], position[1]) + .backColor(backColor) + .foreColor(foreColor); + return styleCellsBatchBuilder; + } + public static Map calculateGroupPositions(List headers, List groupFields) { Map positions = new HashMap<>(); int index = 0;