|  |  | 
 |  |  |         try { | 
 |  |  |             sxssfWorkbook = new SXSSFWorkbook(); | 
 |  |  |             Sheet sheet = sxssfWorkbook.createSheet(sheetName); | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |             for (int i = 0; i < 8; i++) { | 
 |  |  |                 sheet.setColumnWidth(i, ((i==3|| i== 4|| i== 5 ||i== 6 || i==7)?16:8) * 2 * 256); | 
 |  |  |             } | 
 |  |  |             sheet.createFreezePane(0, 1); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7)); | 
 |  |  |             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 < 9; i++) { | 
 |  |  |             for (int i = 0; i < 8; i++) { | 
 |  |  |                 if(i>0){ | 
 |  |  |                     title.createCell(i).setCellValue(""); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |             sheet.createFreezePane(0, 1); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8)); | 
 |  |  |             Row title = sheet.createRow(0); | 
 |  |  |             title.setHeight((short) 2000); | 
 |  |  |             title.setHeight((short) 1000); | 
 |  |  |             Cell c = title.createCell(0); | 
 |  |  |             c.setCellValue(sheetName); | 
 |  |  |             configFirstCell(sxssfWorkbook,c); | 
 |  |  | 
 |  |  |             } | 
 |  |  |             Row header1 = sheet.createRow(1); | 
 |  |  |             header1.createCell(0).setCellValue("投保人"); | 
 |  |  |             header1.createCell(1).setCellValue("保险方案"); | 
 |  |  |             header1.createCell(2).setCellValue(""); | 
 |  |  |             header1.createCell(3).setCellValue("");  | 
 |  |  |             header1.createCell(1).setCellValue(""); | 
 |  |  |             header1.createCell(2).setCellValue("保险方案"); | 
 |  |  |             header1.createCell(3).setCellValue(""); | 
 |  |  |             header1.createCell(4).setCellValue("保单号"); | 
 |  |  |             header1.createCell(5).setCellValue("保险生效起期"); | 
 |  |  |             header1.createCell(6).setCellValue("保险生效止期"); | 
 |  |  |             header1.createCell(7).setCellValue("换厂人数"); | 
 |  |  |             header1.createCell(8).setCellValue("期望批单生效期"); | 
 |  |  |  | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,2,3)); | 
 |  |  |  | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |                 configFirstCell(sxssfWorkbook,header1.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,1,3)); | 
 |  |  |  | 
 |  |  |             Row header2 = sheet.createRow(2); | 
 |  |  |             header2.createCell(0).setCellValue(data.getShopName()); | 
 |  |  |             header2.createCell(1).setCellValue(data.getSolutionsName()); | 
 |  |  |             header2.createCell(2).setCellValue(""); | 
 |  |  |             header2.createCell(1).setCellValue(""); | 
 |  |  |             header2.createCell(2).setCellValue(data.getSolutionsName()); | 
 |  |  |             header2.createCell(3).setCellValue(""); | 
 |  |  |             header2.createCell(4).setCellValue(data.getApplyCode()); | 
 |  |  |             header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime())); | 
 |  |  |             header2.createCell(6).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime())); | 
 |  |  |             header2.createCell(7).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()).size()); | 
 |  |  |             header2.createCell(8).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getApplyStartTime())); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3)); | 
 |  |  |             header2.createCell(8).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getValidTime())); | 
 |  |  | //            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3)); | 
 |  |  |  | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,2,3)); | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |                 configDataCell(sxssfWorkbook,header2.getCell(i)); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             Row header3 = sheet.createRow(3); | 
 |  |  |             header3.createCell(0).setCellValue("被保险人"); | 
 |  |  |             header3.createCell(1).setCellValue(data.getCompanyNames()); | 
 |  |  |             header3.createCell(2).setCellValue(""); | 
 |  |  |             header3.createCell(1).setCellValue(""); | 
 |  |  |             header3.createCell(2).setCellValue(data.getCompanyNames()); | 
 |  |  |             header3.createCell(3).setCellValue(""); | 
 |  |  |             header3.createCell(4).setCellValue(""); | 
 |  |  |             header3.createCell(5).setCellValue(""); | 
 |  |  |             header3.createCell(6).setCellValue(""); | 
 |  |  |             header3.createCell(7).setCellValue(""); | 
 |  |  |             header3.createCell(8).setCellValue(""); | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |             for (int i = 0; i < 2; i++) { | 
 |  |  |                 configFirstCell(sxssfWorkbook,header3.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,1,8)); | 
 |  |  |  | 
 |  |  |             for (int i = 2; i < 9; i++) { | 
 |  |  |                 configDataCell(sxssfWorkbook,header3.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,2,8)); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             List<ApplyChagneDetail> otherChangeDetailList = data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()); | 
 |  |  | 
 |  |  |                     header6.createCell(7).setCellValue(applyChagneDetail.getDuName()); | 
 |  |  |                     header6.createCell(8).setCellValue(applyChagneDetail.getWorkTypeName()); | 
 |  |  |                     for (int i = 0; i < 9; i++) { | 
 |  |  |                         configFirstCell(sxssfWorkbook,header6.getCell(i)); | 
 |  |  |                     }  | 
 |  |  |                         configDataCell(sxssfWorkbook,header6.getCell(i)); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }  | 
 |  |  |             } | 
 |  |  |             int rowIndex =  row + 1 ; | 
 |  |  |             Row header6= sheet.createRow(rowIndex); | 
 |  |  |             header6.createCell(0).setCellValue("投保企业申明:\n" + | 
 |  |  | 
 |  |  |             sheet.createFreezePane(0, 1); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7)); | 
 |  |  |             Row title = sheet.createRow(0); | 
 |  |  |             title.setHeight((short) 2000); | 
 |  |  |             title.setHeight((short) 1000); | 
 |  |  |             for (int i = 0; i < 8; i++) { | 
 |  |  |                 title.createCell(i).setCellValue(i==0?sheetName:""); | 
 |  |  |                 configTitleCell(sxssfWorkbook,title.getCell(i)); | 
 |  |  | 
 |  |  |             sheet.createFreezePane(0, 1); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8)); | 
 |  |  |             Row title = sheet.createRow(0); | 
 |  |  |             title.setHeight((short) 2000); | 
 |  |  |             title.setHeight((short) 1000); | 
 |  |  |             Cell c = title.createCell(0); | 
 |  |  |             c.setCellValue(sheetName); | 
 |  |  |             configFirstCell(sxssfWorkbook,c); | 
 |  |  | 
 |  |  |             } | 
 |  |  |             Row header1 = sheet.createRow(1); | 
 |  |  |             header1.createCell(0).setCellValue("投保人"); | 
 |  |  |             header1.createCell(1).setCellValue("保险方案"); | 
 |  |  |             header1.createCell(2).setCellValue(""); | 
 |  |  |             header1.createCell(1).setCellValue(""); | 
 |  |  |             header1.createCell(2).setCellValue("保险方案"); | 
 |  |  |             header1.createCell(3).setCellValue(""); | 
 |  |  |             header1.createCell(4).setCellValue("保单号"); | 
 |  |  |             header1.createCell(5).setCellValue("保险生效起期"); | 
 |  |  |             header1.createCell(6).setCellValue("保险生效止期"); | 
 |  |  |             header1.createCell(7).setCellValue("换厂人数"); | 
 |  |  |             header1.createCell(8).setCellValue("期望批单生效期"); | 
 |  |  |  | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,2,3)); | 
 |  |  |  | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |                 configFirstCell(sxssfWorkbook,header1.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(1  ,1,1,3)); | 
 |  |  |  | 
 |  |  |             Row header2 = sheet.createRow(2); | 
 |  |  |             header2.createCell(0).setCellValue(data.getShopName()); | 
 |  |  |             header2.createCell(1).setCellValue(data.getSolutionsName()); | 
 |  |  |             header2.createCell(2).setCellValue(""); | 
 |  |  |             header2.createCell(1).setCellValue(""); | 
 |  |  |             header2.createCell(2).setCellValue(data.getSolutionsName()); | 
 |  |  |             header2.createCell(3).setCellValue(""); | 
 |  |  |             header2.createCell(4).setCellValue(data.getApplyCode()); | 
 |  |  |             header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime())); | 
 |  |  |             header2.createCell(6).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime())); | 
 |  |  |             header2.createCell(7).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()).size()); | 
 |  |  |             header2.createCell(8).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getApplyStartTime())); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3)); | 
 |  |  | //            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3)); | 
 |  |  |  | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(2  ,2,2,3)); | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |                 configDataCell(sxssfWorkbook,header2.getCell(i)); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             Row header3 = sheet.createRow(3); | 
 |  |  |             header3.createCell(0).setCellValue("被保险人"); | 
 |  |  |             header3.createCell(1).setCellValue(data.getCompanyNames()); | 
 |  |  |             header3.createCell(2).setCellValue(""); | 
 |  |  |             header3.createCell(1).setCellValue(""); | 
 |  |  |             header3.createCell(2).setCellValue(data.getCompanyNames()); | 
 |  |  |             header3.createCell(3).setCellValue(""); | 
 |  |  |             header3.createCell(4).setCellValue(""); | 
 |  |  |             header3.createCell(5).setCellValue(""); | 
 |  |  |             header3.createCell(6).setCellValue(""); | 
 |  |  |             header3.createCell(7).setCellValue(""); | 
 |  |  |             header3.createCell(8).setCellValue(""); | 
 |  |  |             for (int i = 0; i < 9; i++) { | 
 |  |  |             for (int i = 0; i < 2; i++) { | 
 |  |  |                 configFirstCell(sxssfWorkbook,header3.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,1,8)); | 
 |  |  |  | 
 |  |  |             for (int i = 2; i < 9; i++) { | 
 |  |  |                 configDataCell(sxssfWorkbook,header3.getCell(i)); | 
 |  |  |             } | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,1)); | 
 |  |  |             sheet.addMergedRegion(new CellRangeAddress(3  ,3,2,8)); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             List<ApplyChagneDetail> otherChangeDetailList = data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()); | 
 |  |  | 
 |  |  |                     header6.createCell(7).setCellValue(applyChagneDetail.getDuName()); | 
 |  |  |                     header6.createCell(8).setCellValue(applyChagneDetail.getWorkTypeName()); | 
 |  |  |                     for (int i = 0; i < 9; i++) { | 
 |  |  |                         configFirstCell(sxssfWorkbook,header6.getCell(i)); | 
 |  |  |                         configDataCell(sxssfWorkbook,header6.getCell(i)); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } |