Jelajahi Sumber

feat: 批量订单导入;

hanchaolong 2 minggu lalu
induk
melakukan
e3eebed6a0

+ 8 - 4
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/handler/JDOrderDynamicTemplateHandler.java

@@ -15,6 +15,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -343,6 +344,7 @@ public class JDOrderDynamicTemplateHandler {
      * @return RowWriteHandler 处理器
      */
     private SheetWriteHandler createTextFormatRowHandler() {
+        List<Integer> textColumns = Arrays.asList(10, 11);
         return new SheetWriteHandler() {
             @Override
             public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
@@ -353,10 +355,12 @@ public class JDOrderDynamicTemplateHandler {
                 CellStyle textCellStyle = writeWorkbookHolder.getWorkbook().createCellStyle();
                 textCellStyle.setDataFormat(dataFormat.getFormat("@")); // 等同于setDataFormat(TEXT_FORMAT_CODE)
 
-                // 为sheet的所有列设置默认文本格式(这里设置前100列,可根据需求调整范围)
-                int maxColumnNum = 100;
-                for (int i = 0; i < maxColumnNum; i++) {
-                    sheet.setDefaultColumnStyle(i, textCellStyle);
+                // 2. 【仅遍历指定列】设置文本格式
+                if (textColumns != null && !textColumns.isEmpty()) {
+                    for (Integer columnIndex : textColumns) {
+                        // 为指定列设置默认样式(空单元格也生效)
+                        sheet.setDefaultColumnStyle(columnIndex, textCellStyle);
+                    }
                 }
             }
         };