Przeglądaj źródła

后台导出excel优化

24282 1 rok temu
rodzic
commit
34fa291b20

+ 3 - 3
sd-business/src/main/java/com/sd/business/service/statement/impl/DocumentByOrderExcelCellMergeStrategy.java

@@ -17,14 +17,14 @@ public class DocumentByOrderExcelCellMergeStrategy extends AbstractMergeStrategy
     private final int mergeRowIndex = 2;
 
     // sku需要合并的列
-    private final List<Integer> skuColIndex = Arrays.asList(3, 4, 5, 16, 17, 18, 19);
+    private final List<Integer> skuColIndex = Arrays.asList(3, 4, 5, 16, 17);
     // sku无需合并的行
     private final List<Integer> skuRowIndex = new ArrayList<>();
 
+    // 订单需要合并的列
+    private final List<Integer> orderColIndex = Arrays.asList(0, 1, 2, 18, 19);
     // 订单无需合并的行
     private final List<Integer> orderRowIndex = new ArrayList<>();
-    // 订单需要合并的列
-    private final List<Integer> orderColIndex = Arrays.asList(0, 1, 2, 20, 21);
 
     public DocumentByOrderExcelCellMergeStrategy(List<DocumentByOrderVo> documentByOrderVoList) {
         for (DocumentByOrderVo documentByOrderVo : documentByOrderVoList) {

+ 2 - 1
sd-business/src/main/java/com/sd/business/strategy/impl/DocumentByOrderExcelExportStrategy.java

@@ -138,8 +138,9 @@ public class DocumentByOrderExcelExportStrategy implements ExcelExportStrategy<M
                 FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
 
                 excelWriter.fill(data, fillConfig, writeSheet);
-                for (List<ExportDocumentByOrderBo> documentByOrderBos : ListUtil.partition(exportDocumentByOrderBos, 1000)) {
+                for (List<ExportDocumentByOrderBo> documentByOrderBos : ListUtil.partition(exportDocumentByOrderBos, 5000)) {
                     excelWriter.fill(documentByOrderBos, fillConfig, writeSheet);
+                    excelWriter.finish();
                 }
 
             } finally {

BIN
sd-starter/src/main/resources/template/orderDocument.xlsx