lyhzzz před 2 roky
rodič
revize
7c10c8aff4

+ 19 - 1
src/main/java/com/fdkankan/sale/util/MyExcelUtil.java

@@ -16,6 +16,7 @@ import com.fdkankan.sale.service.IPriceListService;
 import com.fdkankan.sale.util.pdf.ExportImg;
 import com.fdkankan.sale.util.pdf.MyHandler;
 import com.fdkankan.sale.util.pdf.TestForExcel2PDF;
+import com.fdkankan.sale.vo.response.PriceListExcelVo;
 import javassist.expr.FieldAccess;
 import org.apache.poi.ss.usermodel.ClientAnchor;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -80,10 +81,27 @@ public class MyExcelUtil {
         File localFile = new File(localFilePath);
         ExcelWriter excelWriter = null;
 
+        //需要合并的行
+        List<Integer> mergeRowsIndex  =new ArrayList<>();
+        //需要合并的列
+        List<Integer> mergeColumnIndex = new ArrayList<>();
+        if(type == 0){
+            Integer index = 13;
+            if(obj2 != null){
+                List<PriceListExcelVo> list = (List<PriceListExcelVo>)obj2;
+                Integer i = 0;
+                for (PriceListExcelVo excelVo : list) {
+                    i++;
+                    mergeColumnIndex.add(index + i);
+                }
+            }
+            mergeRowsIndex  = Arrays.asList(1,2);
+        }
+
         excelWriter = EasyExcel.write(localFile)
                 .withTemplate(templateFileName)
                 //调用合并策略
-                //.registerWriteHandler(new ExcelFillCellMergeStrategy(0, new ArrayList<>(1), 2))
+                .registerWriteHandler(new ExcelFillCellMergeStrategy(0, mergeColumnIndex, mergeRowsIndex))
                 .autoCloseStream(true)
                 .build();
         WriteSheet writeSheet = EasyExcel.writerSheet().build();