From 2e85e2dda945ca269d87b7f1f6147246be9accfa Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 18 八月 2025 13:21:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys'

---
 src/main/java/com/ruoyi/common/utils/excel/ConfigurableMergeStrategy.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/utils/excel/ConfigurableMergeStrategy.java b/src/main/java/com/ruoyi/common/utils/excel/ConfigurableMergeStrategy.java
new file mode 100644
index 0000000..6d59d27
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/utils/excel/ConfigurableMergeStrategy.java
@@ -0,0 +1,29 @@
+package com.ruoyi.common.utils.excel;
+
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.write.merge.AbstractMergeStrategy;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.util.CellRangeAddress;
+
+import java.util.List;
+
+public class ConfigurableMergeStrategy extends AbstractMergeStrategy {
+    private final List<CellRangeAddress> mergeRegions;
+
+    public ConfigurableMergeStrategy(List<CellRangeAddress> mergeRegions) {
+        this.mergeRegions = mergeRegions;
+    }
+
+    @Override
+    protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {
+        // 妫�鏌ュ綋鍓嶅崟鍏冩牸鏄惁鍦ㄤ换浣曚竴涓悎骞跺尯鍩熷唴
+        for (CellRangeAddress region : mergeRegions) {
+            if (cell.getRowIndex() == region.getFirstRow() &&
+                    cell.getColumnIndex() == region.getFirstColumn()) {
+                sheet.addMergedRegion(region); // 鎵ц鍚堝苟
+                break;
+            }
+        }
+    }
+}

--
Gitblit v1.9.3