| public class MyExcelUtil { |
| |
| |
| |
| |
| |
| |
| |
| |
| public static void run(HttpServletResponse response,String fileName,List<collectionAndPaymentListBean> getselectTo) { |
| |
| |
| HSSFWorkbook wb = new HSSFWorkbook(); |
| |
| |
| HSSFSheet sheet = wb.createSheet("excel导出标题"); |
| |
| |
| |
| HSSFCellStyle titleStyle = createTitleCellStyle(wb); |
| |
| HSSFCellStyle headerStyle = createHeadCellStyle(wb); |
| |
| HSSFCellStyle contentStyle = createContentCellStyle(wb); |
| |
| SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| |
| |
| sheet.setDefaultColumnWidth(12); |
| |
| |
| |
| int rowNum = 0; |
| |
| HSSFRow row0 = sheet.createRow(rowNum++); |
| row0.setHeight((short) 800); |
| |
| String title = "工程项目结算明细表"; |
| HSSFCell c00 = row0.createCell(0); |
| c00.setCellValue(title); |
| c00.setCellStyle(titleStyle); |
| |
| sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 17)); |
| |
| |
| |
| |
| |
| HSSFRow row1 = sheet.createRow(rowNum++); |
| row1.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| HSSFCell tempCell = row1.createCell(i); |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue("编制单位:广东东篱环境股份有限公司 "); |
| |
| } else if (i == 5) { |
| tempCell.setCellStyle(headerStyle); |
| tempCell.setCellValue("制表日期: "+sdf.format(new Date())); |
| } else if(i == 9) { |
| tempCell.setCellValue(" 单位:人民币/元"); |
| } |
| } |
| |
| |
| sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 4)); |
| sheet.addMergedRegion(new CellRangeAddress(1, 1, 5, 8)); |
| sheet.addMergedRegion(new CellRangeAddress(1, 1, 9, 17)); |
| |
| |
| |
| |
| |
| for (collectionAndPaymentListBean c : getselectTo) { |
| |
| HSSFRow row2 = sheet.createRow(rowNum++); |
| row2.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| |
| HSSFCell tempCell = row2.createCell(i); |
| |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue("项目名称: "+c.getProjectName()); |
| } else if (i == 8) { |
| tempCell.setCellValue("合同编号: "+c.getContractNo()); |
| } else if(i == 14) { |
| tempCell.setCellValue("业主: "); |
| } |
| } |
| |
| |
| sheet.addMergedRegion(new CellRangeAddress(2, 2, 0, 7)); |
| sheet.addMergedRegion(new CellRangeAddress(2, 2, 8, 13)); |
| sheet.addMergedRegion(new CellRangeAddress(2, 2, 14, 17)); |
| |
| break; |
| } |
| |
| |
| |
| |
| |
| |
| for (collectionAndPaymentListBean c : getselectTo) { |
| |
| HSSFRow row3 = sheet.createRow(rowNum++); |
| row3.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| |
| HSSFCell tempCell = row3.createCell(i); |
| |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue("合同总额: "+c.getContractNo()); |
| } else if (i == 5) { |
| Date parse = null; |
| try { |
| parse = sdf.parse(c.getReceiveBillDateTo()); |
| } catch (ParseException e) { |
| e.printStackTrace(); |
| } |
| tempCell.setCellValue("合同日期: "+sdf.format(parse)); |
| } else if(i == 10) { |
| tempCell.setCellValue("负责人: "+c.getProjectLeadNameTo()); |
| }else if(i== 14){ |
| tempCell.setCellValue("联系电话: "+c.getPhone()); |
| } |
| } |
| |
| sheet.addMergedRegion(new CellRangeAddress(3, 3, 0, 4)); |
| sheet.addMergedRegion(new CellRangeAddress(3, 3, 5, 9)); |
| sheet.addMergedRegion(new CellRangeAddress(3, 3, 10, 13)); |
| sheet.addMergedRegion(new CellRangeAddress(3, 3, 14, 17)); |
| break; |
| } |
| |
| |
| |
| |
| |
| HSSFRow row4 = sheet.createRow(rowNum++); |
| row4.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| HSSFCell tempCell = row4.createCell(i); |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue("管理费率 "); |
| } else if (i == 3) { |
| tempCell.setCellValue("增值税率"); |
| } else if(i == 6) { |
| tempCell.setCellValue("印花税率"); |
| }else if(i== 9){ |
| tempCell.setCellValue("资料保证金比率"); |
| }else{ |
| tempCell.setCellValue(""); |
| } |
| } |
| |
| sheet.addMergedRegion(new CellRangeAddress(4, 4, 0, 2)); |
| sheet.addMergedRegion(new CellRangeAddress(4, 4, 3, 5)); |
| sheet.addMergedRegion(new CellRangeAddress(4, 4, 6, 8)); |
| sheet.addMergedRegion(new CellRangeAddress(4, 4, 9, 11)); |
| sheet.addMergedRegion(new CellRangeAddress(4, 4, 12, 17)); |
| |
| |
| |
| |
| |
| |
| |
| for (collectionAndPaymentListBean c : getselectTo) { |
| HSSFRow row5 = sheet.createRow(rowNum++); |
| row5.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| HSSFCell tempCell = row5.createCell(i); |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue(c.getManagement()); |
| } else if (i == 3) { |
| tempCell.setCellValue(c.getTaxes()); |
| } else if(i == 6) { |
| tempCell.setCellValue(c.getDuty()); |
| }else if(i== 9){ |
| tempCell.setCellValue(c.getDatasets()); |
| }else{ |
| tempCell.setCellValue(""); |
| } |
| } |
| |
| sheet.addMergedRegion(new CellRangeAddress(5, 5, 0, 2)); |
| sheet.addMergedRegion(new CellRangeAddress(5, 5, 3, 5)); |
| sheet.addMergedRegion(new CellRangeAddress(5, 5, 6, 8)); |
| sheet.addMergedRegion(new CellRangeAddress(5, 5, 9, 11)); |
| sheet.addMergedRegion(new CellRangeAddress(5, 5, 12, 17)); |
| break; |
| } |
| |
| |
| rowNum++; |
| |
| |
| HSSFRow row7 = sheet.createRow(rowNum++); |
| row7.setHeight((short) 500); |
| for (int i = 0; i < 18; i++) { |
| HSSFCell tempCell = row7.createCell(i); |
| tempCell.setCellStyle(headerStyle); |
| if (i == 0) { |
| tempCell.setCellValue("序号 "); |
| }else if (i == 1) { |
| tempCell.setCellValue("'收款日期"); |
| }else if(i == 2) { |
| tempCell.setCellValue("发票金额"); |
| }else if(i== 3){ |
| tempCell.setCellValue("业主拨款"); |
| }else if(i== 4){ |
| tempCell.setCellValue("管理费"); |
| }else if(i== 5){ |
| tempCell.setCellValue("税费"); |
| }else if(i== 6){ |
| tempCell.setCellValue("资料保证金"); |
| }else if(i== 7){ |
| tempCell.setCellValue("通讯费"); |
| }else if(i== 8){ |
| tempCell.setCellValue("交通费"); |
| }else if(i== 9){ |
| tempCell.setCellValue("办公费"); |
| }else if(i== 10){ |
| tempCell.setCellValue("保险费"); |
| }else if(i== 11){ |
| tempCell.setCellValue("差旅费"); |
| }else if(i== 12){ |
| tempCell.setCellValue("利息"); |
| }else if(i== 13){ |
| tempCell.setCellValue("履约保证金"); |
| }else if(i== 14){ |
| tempCell.setCellValue("保理手续费"); |
| }else if(i== 15){ |
| tempCell.setCellValue("工资社保公积金"); |
| }else if(i== 16){ |
| tempCell.setCellValue("扣款合计"); |
| }else if(i== 17){ |
| tempCell.setCellValue("实付款"); |
| } |
| |
| } |
| |
| |
| |
| |
| |
| for (collectionAndPaymentListBean c : getselectTo) { |
| HSSFRow tempRow = sheet.createRow(rowNum++); |
| tempRow.setHeight((short) 500); |
| |
| for (int j = 0; j < 18; j++) { |
| HSSFCell tempCell = tempRow.createCell(j); |
| tempCell.setCellStyle(contentStyle); |
| String tempValue = null; |
| if (j == 0) { |
| |
| tempValue = c.getIsNewRecord(); |
| } else if (j == 1) { |
| |
| if(null == c.getReceiveBillDate()){ |
| tempValue = ""; |
| }else{ |
| tempValue = c.getReceiveBillDate().substring(0,10); |
| } |
| } else if (j == 2) { |
| |
| if(null == c.getAmount()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getAmount()+""; |
| } |
| } else if (j == 3) { |
| |
| if(null == c.getHomeowners()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getHomeowners()+""; |
| } |
| } else if (j == 4) { |
| |
| if(null == c.getCoffee()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getCoffee()+""; |
| } |
| |
| }else if (j == 5) { |
| |
| if(null == c.getVorhanden()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getVorhanden()+""; |
| } |
| } else if(j == 6){ |
| |
| if(null == c.getSecurity()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getSecurity()+""; |
| } |
| } else if(j == 7){ |
| |
| if(null == c.getCommunications()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getCommunications()+""; |
| } |
| } else if(j == 8){ |
| |
| if(null == c.getTransportation()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getTransportation()+""; |
| } |
| } else if(j == 9){ |
| |
| if(null == c.getWork()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getWork()+""; |
| } |
| } else if(j == 10){ |
| |
| if(null == c.getSetAInsPremium()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getSetAInsPremium()+""; |
| } |
| } else if(j == 11){ |
| |
| if(null == c.getResearchTravel()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getResearchTravel()+""; |
| } |
| } else if(j == 12){ |
| |
| if(null == c.getAccrualAmount()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getAccrualAmount()+""; |
| } |
| } else if(j == 13){ |
| |
| if(null == c.getPerformance()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getPerformance()+""; |
| } |
| } else if(j == 14){ |
| |
| if(null == c.getFactoring()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getFactoring()+""; |
| } |
| } else if(j == 15){ |
| |
| if(null == c.getCoffeehous()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getCoffeehous()+""; |
| } |
| } else if(j == 16){ |
| |
| if(null == c.getOfdeductions()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getOfdeductions()+""; |
| } |
| } else if(j == 17){ |
| |
| if(null == c.getPaymentImpl()){ |
| tempValue = "0.00"; |
| }else{ |
| tempValue = c.getPaymentImpl()+""; |
| } |
| } else if(j == 18){ |
| |
| tempValue = "0.00"; |
| } |
| |
| tempCell.setCellValue(tempValue); |
| } |
| } |
| |
| try { |
| |
| downloadExcel(response,wb ,fileName+".xls"); |
| } catch (IOException e) { |
| |
| e.printStackTrace(); |
| } |
| } |
| |
| |
| public static void downloadExcel(HttpServletResponse response,HSSFWorkbook wb ,String fileName) throws IOException { |
| response.reset(); |
| response.setContentType("application/vnd.ms-excel;charset=utf-8"); |
| response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName).getBytes(), "iso-8859-1")); |
| OutputStream out = null; |
| try { |
| out = response.getOutputStream(); |
| wb.write(out); |
| out.flush(); |
| } catch (IOException e) { |
| e.printStackTrace(); |
| }finally { |
| out.close(); |
| |
| } |
| |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| private static HSSFCellStyle createTitleCellStyle(HSSFWorkbook wb) { |
| HSSFCellStyle cellStyle = wb.createCellStyle(); |
| cellStyle.setAlignment(HorizontalAlignment.CENTER); |
| cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| cellStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex()); |
| |
| HSSFFont headerFont1 = (HSSFFont) wb.createFont(); |
| headerFont1.setBold(true); |
| headerFont1.setFontName("黑体"); |
| headerFont1.setFontHeightInPoints((short) 15); |
| cellStyle.setFont(headerFont1); |
| |
| return cellStyle; |
| } |
| |
| |
| |
| |
| |
| |
| |
| private static HSSFCellStyle createHeadCellStyle(HSSFWorkbook wb) { |
| HSSFCellStyle cellStyle = wb.createCellStyle(); |
| cellStyle.setWrapText(true); |
| cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| cellStyle.setAlignment(HorizontalAlignment.LEFT); |
| cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| cellStyle.setBottomBorderColor(IndexedColors.BLACK.index); |
| cellStyle.setBorderBottom(BorderStyle.THIN); |
| cellStyle.setBorderLeft(BorderStyle.THIN); |
| cellStyle.setBorderRight(BorderStyle.THIN); |
| cellStyle.setBorderTop(BorderStyle.THIN); |
| |
| HSSFFont headerFont = (HSSFFont) wb.createFont(); |
| headerFont.setBold(true); |
| headerFont.setFontName("黑体"); |
| headerFont.setFontHeightInPoints((short) 10); |
| cellStyle.setFont(headerFont); |
| |
| return cellStyle; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| private static HSSFCellStyle createContentCellStyle(HSSFWorkbook wb) { |
| HSSFCellStyle cellStyle = wb.createCellStyle(); |
| cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| cellStyle.setAlignment(HorizontalAlignment.CENTER); |
| cellStyle.setWrapText(true); |
| cellStyle.setBorderBottom(BorderStyle.THIN); |
| cellStyle.setBorderLeft(BorderStyle.THIN); |
| cellStyle.setBorderRight(BorderStyle.THIN); |
| cellStyle.setBorderTop(BorderStyle.THIN); |
| |
| |
| HSSFFont font = wb.createFont(); |
| font.setColor((short)8); |
| font.setFontHeightInPoints((short) 12); |
| cellStyle.setFont(font); |
| |
| return cellStyle; |
| } |
| |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)