From bd25d9a8a058e8c618ee4188ed5f15a898c0f7e8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 27 一月 2024 11:43:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java | 68 ++++++++++++++++++++++++++++------
1 files changed, 56 insertions(+), 12 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..3526bbe 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,7 @@
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);
@@ -317,6 +335,22 @@
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);
+ font.setBold(true);
+ style.setFont(font);
+ // 璁剧疆杈规
+ configCellBorder(style);
+// configCellBorder(style);
cell.setCellStyle(style);
}
/**
@@ -444,14 +478,19 @@
try {
sxssfWorkbook = new SXSSFWorkbook();
Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+ for (int i = 0; i < 6; i++) {
+ sheet.setColumnWidth(i, (i==5?20:15) * 2 * 256);
+ }
sheet.createFreezePane(0, 1);
- sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,6));
Row title = sheet.createRow(0);
- title.setHeight((short) 1000);
- Cell c = title.createCell(0);
- c.setCellValue(sheetName);
- configFirstCell(sxssfWorkbook,c);
+ title.setHeight((short) 800);
+ for (int i = 0; i < 6; i++) {
+ title.createCell(i).setCellValue(i==0?sheetName:"");
+ configTitleCell(sxssfWorkbook,title.getCell(i));
+ }
+ sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,5));
Row header1 = sheet.createRow(1);
+ header1.setHeight((short) 500);
header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
header1.createCell(1).setCellValue("淇濋櫓鏂规");
header1.createCell(2).setCellValue("淇濋櫓鐢熸晥璧锋湡");
@@ -468,17 +507,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) 500);
for (int i = 0; i < 6; i++) {
configFirstCell(sxssfWorkbook,header4.getCell(i));
}
@@ -487,12 +526,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