From 32851bc502dd5ef69c3077fd6c206bb4b82d5689 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 01 四月 2024 09:05:15 +0800
Subject: [PATCH] mrshi
---
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java | 134 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 128 insertions(+), 6 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 a98cbd2..4b9bd83 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
@@ -745,7 +745,7 @@
* @param data 鏁版嵁
* @param sheetName Sheet鍚嶇О
*/
- public String exportJiajianBaoExcelToPdf (ApplyChange data, String sheetName) {
+ public String exportJiajianBaoExcelToPdf (ApplyChange data, String sheetName,String cellValue) {
SXSSFWorkbook sxssfWorkbook;
try {
sxssfWorkbook = new SXSSFWorkbook();
@@ -762,7 +762,7 @@
configTitleCell(sxssfWorkbook,title.getCell(i));
}
Row header1 = sheet.createRow(1);
- header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
+ header1.createCell(0).setCellValue(cellValue);
header1.createCell(3).setCellValue("淇濋櫓鏂规");
header1.createCell(4).setCellValue("淇濆崟鍙�");
header1.createCell(5).setCellValue("淇濋櫓鐢熸晥璧锋湡");
@@ -871,7 +871,7 @@
sheet.addMergedRegion(new CellRangeAddress(rowIndex ,rowIndex,0,11));
Row header7= sheet.createRow(rowIndex+1);
header7.setHeight((short) 3000);
- header7.createCell(0).setCellValue("鎶曚繚浼佷笟绛剧珷 锛� \n \n \n" +"鏃ユ湡锛� 骞� 鏈� 鏃� ");
+ header7.createCell(0).setCellValue(cellValue+"绛剧珷 锛� \n \n \n" +"鏃ユ湡锛� 骞� 鏈� 鏃� ");
for (int i =0; i < 12; i++) {
if(i>0){
header7.createCell(i).setCellValue("");
@@ -1001,7 +1001,7 @@
* @param data 鏁版嵁
* @param sheetName Sheet鍚嶇О
*/
- public String exportChangeUnitExcelToPdf (ApplyChange data, String sheetName) {
+ public String exportChangeUnitExcelToPdf (ApplyChange data, String sheetName,String cellValue) {
SXSSFWorkbook sxssfWorkbook;
try {
sxssfWorkbook = new SXSSFWorkbook();
@@ -1023,7 +1023,7 @@
configTitleCell(sxssfWorkbook,title.getCell(i));
}
Row header1 = sheet.createRow(1);
- header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
+ header1.createCell(0).setCellValue(cellValue);
header1.createCell(1).setCellValue("淇濋櫓鏂规");
header1.createCell(2).setCellValue("");
header1.createCell(3).setCellValue("淇濆崟鍙�");
@@ -1096,7 +1096,7 @@
sheet.addMergedRegion(new CellRangeAddress(rowIndex ,rowIndex,0,7));
Row header7= sheet.createRow(rowIndex+1);
header7.setHeight((short) 3000);
- header7.createCell(0).setCellValue("鎶曚繚浼佷笟绛剧珷 锛� \n \n \n" +"鏃ユ湡锛� 骞� 鏈� 鏃� ");
+ header7.createCell(0).setCellValue(cellValue + "绛剧珷 锛� \n \n \n" +"鏃ユ湡锛� 骞� 鏈� 鏃� ");
for (int i =0; i < 8; i++) {
if(i>0){
header7.createCell(i).setCellValue("");
@@ -1125,6 +1125,128 @@
return null;
}
+
+ /**
+ * 瀵煎嚭 鎶曚繚鐢宠璇﹀崟
+ * @param insuranceApply 鏁版嵁
+ * @param sheetName Sheet鍚嶇О
+ */
+ public String exportApplyExcelToPdf(InsuranceApply insuranceApply, String sheetName) {
+ SXSSFWorkbook sxssfWorkbook;
+ try {
+ sxssfWorkbook = new SXSSFWorkbook();
+ Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+ for (int i = 0; i < 6; i++) {
+ sheet.setColumnWidth(i, ((i==3|| i== 4|| i== 5 )?16:8) * 2 * 256);
+ }
+ sheet.createFreezePane(0, 1);
+ sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,6));
+ Row title = sheet.createRow(0);
+ title.setHeight((short) 2000);
+ Cell c = title.createCell(0);
+ c.setCellValue(sheetName);
+ configFirstCell(sxssfWorkbook,c);
+ for (int i = 0; i < 8; i++) {
+ if(i>0){
+ title.createCell(i).setCellValue("");
+ }
+ configTitleCell(sxssfWorkbook,title.getCell(i));
+ }
+ Row header1 = sheet.createRow(1);
+ header1.createCell(0).setCellValue("鎶曚繚浜�");
+ header1.createCell(1).setCellValue("鎶ヤ繚闄╀汉");
+ header1.createCell(2).setCellValue("鎶曚繚浜烘暟");
+ header1.createCell(3).setCellValue("淇濋櫓鏂规");
+ header1.createCell(4).setCellValue("淇濋櫓鐢熸晥璧锋湡");
+ header1.createCell(5).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
+ for (int i = 0; i < 6; i++) {
+ configFirstCell(sxssfWorkbook,header1.getCell(i));
+ }
+ sheet.addMergedRegion(new CellRangeAddress(1 ,1,1,2));
+
+ Row header2 = sheet.createRow(2);
+ header2.createCell(0).setCellValue(insuranceApply.getShopName());
+ header2.createCell(1).setCellValue(insuranceApply.getCompanyName());
+ header2.createCell(2).setCellValue(insuranceApply.getInsureNum());
+ header2.createCell(3).setCellValue(insuranceApply.getSolutionsName());
+ header2.createCell(4).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(insuranceApply.getStartTime()));
+ header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(insuranceApply.getEndTime()));
+ sheet.addMergedRegion(new CellRangeAddress(2 ,2,1,2));
+ 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("鎵�鎵�灞炲伐绉�");
+ for (int i = 0; i < 6; i++) {
+ configFirstCell(sxssfWorkbook,header4.getCell(i));
+ }
+ // 鍒涘缓鏁版嵁璁板綍
+ for (int rowIndex = 0; rowIndex <insuranceApply.getApplyDetailList().size(); rowIndex++) {
+ ApplyDetail addModel = insuranceApply.getApplyDetailList().get(rowIndex);
+ Row header5 = sheet.createRow(rowIndex + 4);
+ header5.createCell(0).setCellValue(rowIndex+1);
+ header5.createCell(1).setCellValue(StringUtils.defaultString(addModel.getMemberName(),""));
+ header5.createCell(2).setCellValue(Constants.equalsInteger(addModel.getSex(),0)?"鐢�":(Constants.equalsInteger(addModel.getSex(),1)?"濂�":"-"));
+ header5.createCell(3).setCellValue(StringUtils.defaultString(addModel.getIdcardNo(),""));
+ header5.createCell(6).setCellValue(StringUtils.defaultString(addModel.getDuName(),""));
+ header5.createCell(7).setCellValue(StringUtils.defaultString(addModel.getWorkTypeName(),""));
+ for (int i = 0; i < 6; i++) {
+ configDataCell(sxssfWorkbook,header5.getCell(i));
+ }
+ }
+ int rowIndex = 4+insuranceApply.getApplyDetailList().size();
+ Row header6= sheet.createRow(rowIndex);
+ header6.createCell(0).setCellValue("鎶曚繚浼佷笟鐢虫槑:\n" +
+ "1銆佸湪鐢宠涔︿笂濉啓鐨勪竴鍒囧唴瀹瑰睘瀹烇紝鍚﹀垯鏈紒涓氭壙鎷呬竴鍒囨硶寰嬭矗浠汇�俓n" +
+ "2銆佺敱浜庡彉鏇村彈鐩婁汉浜х敓鐨勬硶寰嬬籂绾锋湰浼佷笟鎰挎壙鎷呬竴鍒囨硶寰嬭矗浠汇�俓n" +
+ "3銆佹湰鐢宠琛ㄧ殑绛剧珷涓烘湰浼佷笟浜茶嚜绛剧讲锛屽鐢辨浜х敓鐨勬硶寰嬬籂绾锋湰浼佷笟鎰挎壙鎷呬竴鍒囨硶寰嬭矗浠汇�俓n");
+ for (int i = 1; i < 6; i++) {
+ header6.createCell(i).setCellValue("");
+ }
+ for (int i =0; i < 6; i++) {
+ if(i>0){
+ header6.createCell(i).setCellValue("");
+ }
+ configInfoCell(sxssfWorkbook,header6.getCell(i),HorizontalAlignment.LEFT);
+ }
+ header6.setHeight((short) 2000);
+ sheet.addMergedRegion(new CellRangeAddress(rowIndex ,rowIndex,0,7));
+ Row header7= sheet.createRow(rowIndex+1);
+ header7.setHeight((short) 3000);
+ header7.createCell(0).setCellValue("鎶曚繚浼佷笟绛剧珷 锛� \n \n \n" +"鏃ユ湡锛� 骞� 鏈� 鏃� ");
+ for (int i =0; i < 6; i++) {
+ if(i>0){
+ header7.createCell(i).setCellValue("");
+ }
+ configInfoCell(sxssfWorkbook,header7.getCell(i),HorizontalAlignment.RIGHT);
+ }
+ sheet.addMergedRegion(new CellRangeAddress(rowIndex+1 ,rowIndex+1,0,7));
+
+ //涓存椂缂撳啿鍖�
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ //鍒涘缓涓存椂鏂囦欢
+ sxssfWorkbook.write(out);
+ byte [] bookByteAry = out.toByteArray();
+ InputStream in = new ByteArrayInputStream(bookByteAry);
+ String tempExcel = saveIsToFile(in);
+ String tempPdf =System.getProperty("java.io.tmpdir")+File.separator+UUID.randomUUID().toString()+".pdf";
+// ExcelToPdfTool.excelToPdf(in,tempPdf);//杞琍DF
+ ExcelToPdfTool.excelToPdf(tempExcel,tempPdf);//杞琍DF
+ File f = new File(tempPdf);
+ if(f!=null && f.isFile() && f.length()>0){
+ return tempPdf;
+ }
+ } catch (Exception e) {
+ // throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+ }
+ return null;
+ }
+
private String saveIsToFile(InputStream inputStream) {
try {
String fileName =System.getProperty("java.io.tmpdir")+File.separator+UUID.randomUUID().toString()+".xlsx";
--
Gitblit v1.9.3