From 38e2bdb95c2593b883369911868fe8b671b5d119 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 26 一月 2024 17:45:30 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index 83268e3..6473db7 100644
--- a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -17,6 +17,7 @@
 import org.springframework.core.annotation.AnnotationConfigurationException;
 
 import javax.servlet.http.HttpServletResponse;
+import javax.swing.*;
 import java.io.*;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
@@ -251,7 +252,24 @@
         }
         return new ArrayList<>(sortedFields.values());
     }
-
+    /**
+     * 閰嶇疆鏁版嵁鍗曞厓鏍�
+     */
+    private void configDataCell (SXSSFWorkbook workbook, Cell cell ) {
+        CellStyle style = workbook.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        // 璁剧疆鑳屾櫙
+        style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+//        style.setFillForegroundColor(columnConfig.dataBackgroundColor().getIndex());
+        // 瀛椾綋
+        Font font = workbook.createFont();
+        style.setFont(font);
+        // 杈规
+        configCellBorder(style);
+        style.setWrapText(true);
+        cell.setCellStyle(style);
+    }
     /**
      * 閰嶇疆鏁版嵁鍗曞厓鏍�
      */
@@ -309,7 +327,22 @@
         style.setVerticalAlignment(VerticalAlignment.CENTER);
         // 璁剧疆鑳屾櫙
         style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
-//        style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
+        style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
+        // 瀛椾綋
+        Font font = workbook.createFont();
+        font.setFontHeightInPoints((short)12);
+        font.setBold(true);
+        style.setFont(font);
+        // 璁剧疆杈规
+        configCellBorder(style);
+        cell.setCellStyle(style);
+    }
+    private void configTitleCell (SXSSFWorkbook workbook, Cell cell ) {
+        CellStyle style = workbook.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        // 璁剧疆鑳屾櫙
+        style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
         // 瀛椾綋
         Font font = workbook.createFont();
         font.setFontHeightInPoints((short)12);
@@ -444,14 +477,18 @@
         try {
             sxssfWorkbook = new SXSSFWorkbook();
             Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+            for (int i = 0; i < 6; i++) {
+                sheet.setColumnWidth(i, 20 * 2 * 256);
+            }
             sheet.createFreezePane(0, 1);
-            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,6));
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,5));
             Row title = sheet.createRow(0);
-            title.setHeight((short) 1000);
+            title.setHeight((short) 800);
             Cell c = title.createCell(0);
             c.setCellValue(sheetName);
-            configFirstCell(sxssfWorkbook,c);
+            configTitleCell(sxssfWorkbook,c);
             Row header1 = sheet.createRow(1);
+            header1.setHeight((short) 400);
             header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
             header1.createCell(1).setCellValue("淇濋櫓鏂规");
             header1.createCell(2).setCellValue("淇濋櫓鐢熸晥璧锋湡");
@@ -468,17 +505,17 @@
             header2.createCell(3).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
             header2.createCell(4).setCellValue(data.getInsureNum());
             header2.createCell(5).setCellValue(Constants.formatBigdecimal2Float(data.getFee()).toString());
-            //绌虹櫧琛�
-            Row header3 = sheet.createRow(3);
-            sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,6));
-
-            Row header4 = sheet.createRow(4);
+            for (int i = 0; i < 6; i++) {
+                configDataCell(sxssfWorkbook,   header2.getCell(i));
+            }
+            Row header4 = sheet.createRow(3);
             header4.createCell(0).setCellValue("搴忓彿");
             header4.createCell(1).setCellValue("鍛樺伐濮撳悕");
             header4.createCell(2).setCellValue("鎬у埆");
             header4.createCell(3).setCellValue("韬唤璇佸彿");
             header4.createCell(4).setCellValue("娲鹃仯鍗曚綅");
             header4.createCell(5).setCellValue("鎵�灞炲伐绉�");
+            header4.setHeight((short) 400);
             for (int i = 0; i < 6; i++) {
                 configFirstCell(sxssfWorkbook,header4.getCell(i));
             }
@@ -487,12 +524,17 @@
                 for (int rowIndex = 0; rowIndex < data.getApplyDetailList().size(); rowIndex++) {
                     ApplyDetail d = data.getApplyDetailList().get(rowIndex);
                     Row header5 = sheet.createRow(rowIndex + 4);
+                    header5.setHeight((short) 300);
                     header5.createCell(0).setCellValue(rowIndex+1);
                     header5.createCell(1).setCellValue(StringUtils.defaultString(d.getMemberName(),""));
                     header5.createCell(2).setCellValue(Constants.equalsInteger(d.getSex(),0)?"鐢�":(Constants.equalsInteger(d.getSex(),1)?"濂�":"-"));
                     header5.createCell(3).setCellValue(StringUtils.defaultString(d.getIdcardNo(),""));
                     header5.createCell(4).setCellValue(StringUtils.defaultString(d.getDuName(),""));
                     header5.createCell(5).setCellValue(StringUtils.defaultString(d.getWorkTypeName(),""));
+                    // 璁剧疆鏁版嵁鍗曞厓鏍�
+                    for (int i = 0; i < 6; i++) {
+                        configDataCell(sxssfWorkbook,   header5.getCell(i));
+                    }
                 }
             }
             sxssfWorkbook.write(os);

--
Gitblit v1.9.3