From ec76c5defdd8018ce4efcc8795508498a84de4b7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 09 四月 2024 19:09:33 +0800
Subject: [PATCH] 平台历史数据 导入导出接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/handler/SelectedSheetWriteHandler.java |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/handler/SelectedSheetWriteHandler.java b/ruoyi-system/src/main/java/com/ruoyi/system/handler/SelectedSheetWriteHandler.java
index d21bc69..1cd9e01 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/handler/SelectedSheetWriteHandler.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/handler/SelectedSheetWriteHandler.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.write.handler.SheetWriteHandler;
 import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
 import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
+import java.util.Map;
 import lombok.Data;
 import org.apache.poi.ss.usermodel.DataValidation;
 import org.apache.poi.ss.usermodel.DataValidationConstraint;
@@ -11,28 +12,33 @@
 import org.apache.poi.ss.util.CellRangeAddressList;
 import org.apache.poi.xssf.usermodel.XSSFDataValidation;
 
-import java.util.Map;
-
 @Data
 public class SelectedSheetWriteHandler implements SheetWriteHandler {
-    private Map<Integer, String[]> selectedMap;
 
-    public SelectedSheetWriteHandler(Map<Integer, String[]> selectedMap) {
+    private Map<Integer, String[]> selectedMap;
+    private int rows;
+
+    public SelectedSheetWriteHandler(Map<Integer, String[]> selectedMap, int rows) {
         this.selectedMap = selectedMap;
+        this.rows = rows;
     }
 
     @Override
-    public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
+    public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder,
+            WriteSheetHolder writeSheetHolder) {
         //获取sheet页
         Sheet sheet = writeSheetHolder.getSheet();
         int firstRow = writeSheetHolder.getHead().get(0).size() + 1;
+        int lastRow = writeSheetHolder.getHead().get(0).size() + rows;
         ///开始设置下拉框
         DataValidationHelper helper = sheet.getDataValidationHelper();
         for (Map.Entry<Integer, String[]> entry : selectedMap.entrySet()) {
             /***起始行、终止行、起始列、终止列**/
-            CellRangeAddressList addressList = new CellRangeAddressList(firstRow, firstRow, entry.getKey(), entry.getKey());
+            CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow,
+                    entry.getKey(), entry.getKey());
             /***设置下拉框数据**/
-            DataValidationConstraint constraint = helper.createExplicitListConstraint(entry.getValue());
+            DataValidationConstraint constraint = helper.createExplicitListConstraint(
+                    entry.getValue());
             DataValidation dataValidation = helper.createValidation(constraint, addressList);
             /***处理Excel兼容性问题**/
             if (dataValidation instanceof XSSFDataValidation) {

--
Gitblit v1.7.1