Parcourir la source

feature: 下载数量过大优化

wuyongyi il y a 2 ans
Parent
commit
235963c6ac
1 fichiers modifiés avec 16 ajouts et 2 suppressions
  1. 16 2
      src/main/java/com/ywt/mg/web/common/ExcelDownloadSrv.java

+ 16 - 2
src/main/java/com/ywt/mg/web/common/ExcelDownloadSrv.java

@@ -342,7 +342,14 @@ public class ExcelDownloadSrv {
 //                Label label3 = new Label(headerColumn3, firstRow, key, cellFormat);
 //                sheet3.addCell(label3);
                     List<String> colData = data.get(key);
-                    for (int q = 0; q < 60000; q++) {
+                    int b = 0;
+                    int c = i+1;
+                    if(size < 60000* c){
+                        b = size - 60000*i;
+                    } else{
+                        b = 60000;
+                    }
+                    for (int q = 0; q < b; q++) {
                         int e = 60000 * i;
                         Label lb = new Label(headerColumn, q + 1, Checker.getStringValue(colData.get(e + q)), cellFormat);
                         sheet.addCell(lb);
@@ -567,12 +574,19 @@ public class ExcelDownloadSrv {
                 //填充表头
                 int headerColumn = 0;
 
+                int b = 0;
+                int c = i+1;
+                if(size < 60000* c){
+                    b = size - 60000*i;
+                } else{
+                    b = 60000;
+                }
 
                 for (String key : data.keySet()) {
                     Label label = new Label(headerColumn, firstRow, key, cellFormat);
                     sheet.addCell(label);
                     List<String> colData = data.get(key);
-                    for (int q = 0; q < 60000; q++) {
+                    for (int q = 0; q < b; q++) {
                         int e = 60000 * i;
                         Label lb = new Label(headerColumn, q + 1, Checker.getStringValue(colData.get(e + q)), cellFormat);
                         sheet.addCell(lb);