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