• Excel中复杂跨行跨列数据


    XSSFWorkbook wb = new XSSFWorkbook();
    // 工作表
    XSSFSheet sheet = wb.createSheet("车辆使用情况统计");
    XSSFCellStyle style = wb.createCellStyle();
    style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
    style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);



    // 第一季度
    XSSFRow row1 = sheet.createRow(0);
    row1.setHeight((short)500);
    XSSFCell title1 = row1.createCell(0);
    title1.setCellStyle(style);
    title1.setCellValue("全年");
    CellRangeAddress regiontitletitle1 = new CellRangeAddress(0, 1, 0, 1);
    sheet.addMergedRegion(regiontitletitle1);



    XSSFRow row_2 = sheet.createRow(2);
    row_2.setHeight((short)500);
    XSSFCell title2 = row_2.createCell(0);
    title2.setCellStyle(style);
    title2.setCellValue("里程表数(Km)");
    CellRangeAddress regiontitletitle2 = new CellRangeAddress(2, 2, 0, 1);
    sheet.addMergedRegion(regiontitletitle2);
    //第二行数据
    Cell(row_2, style, sheet, clsyqkArray);
    XSSFRow row_3 = sheet.createRow(3);
    row_3.setHeight((short)500);
    XSSFCell title3 = row_3.createCell(0);
    title3.setCellStyle(style);
    title3.setCellValue("行驶里程(Km)");
    CellRangeAddress regiontitletitle3 = new CellRangeAddress(3, 3, 0, 1);
    sheet.addMergedRegion(regiontitletitle3);
    //第三行数据
    Cell(row_3, style, sheet, clsyqkArray);
    XSSFRow row_4 = sheet.createRow(4);
    row_4.setHeight((short)500);
    XSSFCell title4 = row_4.createCell(0);
    title4.setCellStyle(style);
    title4.setCellValue("耗油量(L)");
    CellRangeAddress regiontitletitle4 = new CellRangeAddress(4, 4, 0, 1);
    sheet.addMergedRegion(regiontitletitle4);
    Cell(row_4, style, sheet, clsyqkArray);
    XSSFRow row_5 = sheet.createRow(5);
    row_5.setHeight((short)500);
    XSSFCell title5 = row_5.createCell(0);
    title5.setCellStyle(style);
    title5.setCellValue("百公里油耗(L/100km)");
    CellRangeAddress regiontitletitle5 = new CellRangeAddress(5, 5, 0, 1);
    sheet.addMergedRegion(regiontitletitle5);
    Cell(row_5, style, sheet, clsyqkArray);
    XSSFRow row_6 = sheet.createRow(6);
    row_6.setHeight((short)500);
    XSSFCell title6 = row_6.createCell(0);
    title6.setCellStyle(style);
    title6.setCellValue("燃油费(元)");
    CellRangeAddress regiontitletitle6 = new CellRangeAddress(6, 6, 0, 1);
    sheet.addMergedRegion(regiontitletitle6);
    Cell(row_6, style, sheet, clsyqkArray);
    XSSFRow row_7 = sheet.createRow(7);
    row_7.setHeight((short)500);
    XSSFCell title7 = row_7.createCell(0);
    title7.setCellStyle(style);
    title7.setCellValue("维修保养费(元)");
    CellRangeAddress regiontitletitle7 = new CellRangeAddress(7, 7, 0, 1);
    sheet.addMergedRegion(regiontitletitle7);
    Cell(row_7, style, sheet, clsyqkArray);
    XSSFRow row_8 = sheet.createRow(8);
    row_8.setHeight((short)500);
    XSSFCell title8 = row_8.createCell(0);
    title8.setCellStyle(style);
    title8.setCellValue("路桥费(元)");
    CellRangeAddress regiontitletitle8 = new CellRangeAddress(8, 8, 0, 1);
    sheet.addMergedRegion(regiontitletitle8);
    Cell(row_8, style, sheet, clsyqkArray);
    XSSFRow row_9 = sheet.createRow(9);
    row_9.setHeight((short)500);
    XSSFCell title9 = row_9.createCell(0);
    title9.setCellStyle(style);
    title9.setCellValue("保险费(元)");
    CellRangeAddress regiontitletitle9 = new CellRangeAddress(9, 9, 0, 1);
    sheet.addMergedRegion(regiontitletitle9);
    Cell(row_9, style, sheet, clsyqkArray);
    XSSFRow row_10 = sheet.createRow(10);
    row_10.setHeight((short)500);
    XSSFCell title10 = row_10.createCell(0);
    title10.setCellStyle(style);
    title10.setCellValue("其它费用(元)");
    CellRangeAddress regiontitletitle10 = new CellRangeAddress(10, 10, 0, 1);
    sheet.addMergedRegion(regiontitletitle10);
    Cell(row_10, style, sheet, clsyqkArray);


    XSSFRow row_11 = sheet.createRow(11);
    row_11.setHeight((short)500);
    XSSFCell title11 = row_11.createCell(0);
    title11.setCellStyle(style);
    title11.setCellValue("全年里程合计(Km)");
    CellRangeAddress regiontitletitle11 = new CellRangeAddress(11, 11, 0, 1);
    sheet.addMergedRegion(regiontitletitle11);
    XSSFCell title11_text = row_11.createCell(2);
    title11_text.setCellStyle(style);
    title11_text.setCellValue(qnlchj);
    CellRangeAddress regiontitletitletitle11_text = new CellRangeAddress(11, 11, 2, 17);
    sheet.addMergedRegion(regiontitletitletitle11_text);
    XSSFRow row_12 = sheet.createRow(12);
    row_12.setHeight((short)500);
    XSSFCell title12 = row_12.createCell(0);
    title12.setCellStyle(style);
    title12.setCellValue("全年油耗量合计(L)");
    CellRangeAddress regiontitletitle12 = new CellRangeAddress(12, 12, 0, 1);
    sheet.addMergedRegion(regiontitletitle12);
    XSSFCell title12_text = row_12.createCell(2);
    title12_text.setCellStyle(style);
    title12_text.setCellValue(qnjyl);
    CellRangeAddress regiontitletitletitle12_text = new CellRangeAddress(12, 12, 2,9);
    sheet.addMergedRegion(regiontitletitletitle12_text);
    XSSFCell title12_text1 = row_12.createCell(10);
    title12_text1.setCellStyle(style);
    title12_text1.setCellValue("全年百公里油耗(L/100Km)");
    CellRangeAddress regiontitletitletitle12_text1 = new CellRangeAddress(12, 12, 10,13);
    sheet.addMergedRegion(regiontitletitletitle12_text1);
    XSSFCell title12_text2 = row_12.createCell(14);
    title12_text2.setCellStyle(style);
    title12_text2.setCellValue(qnbglyh);
    CellRangeAddress regiontitletitletitle12_text2 = new CellRangeAddress(12, 12, 14,17);
    sheet.addMergedRegion(regiontitletitletitle12_text2);


    XSSFRow row_13 = sheet.createRow(13);
    row_13.setHeight((short)500);
    XSSFCell title13 = row_13.createCell(0);
    title13.setCellStyle(style);
    title13.setCellValue("全年费用合计(元)");
    CellRangeAddress regiontitletitle13 = new CellRangeAddress(13, 13, 0, 1);
    sheet.addMergedRegion(regiontitletitle13);
    XSSFCell title13_text = row_13.createCell(2);
    title13_text.setCellStyle(style);
    title13_text.setCellValue(ryf+wxbyf+qtfy+lqf+bxf);
    CellRangeAddress regiontitletitletitle13_text = new CellRangeAddress(13, 13, 2, 17);
    sheet.addMergedRegion(regiontitletitletitle13_text);
    XSSFRow row_14 = sheet.createRow(14);
    row_14.setHeight((short)500);
    XSSFCell title14 = row_14.createCell(0);
    title14.setCellStyle(style);
    title14.setCellValue("分析说明");
    CellRangeAddress regiontitletitle14 = new CellRangeAddress(14, 14, 0, 1);
    sheet.addMergedRegion(regiontitletitle14);
    XSSFCell title14_text = row_14.createCell(2);
    title14_text.setCellStyle(style);
    title14_text.setCellValue("");
    CellRangeAddress regiontitletitletitle14_text = new CellRangeAddress(14, 14,2, 17);
    sheet.addMergedRegion(regiontitletitletitle14_text);

    XSSFCell cell1 = row1.createCell(2);
    cell1.setCellStyle(style);
    cell1.setCellValue("第一季度");

    XSSFRow row2 = sheet.createRow(1);
    row2.setHeight((short)500);
    XSSFCell cell2 = row2.createCell(2);
    cell2.setCellStyle(style);
    cell2.setCellValue("1月");
    XSSFCell cell3 = row2.createCell(3);
    cell3.setCellStyle(style);
    cell3.setCellValue("2月");
    XSSFCell cell4 = row2.createCell(4);
    cell4.setCellStyle(style);
    cell4.setCellValue("3月");
    XSSFCell cell5 = row2.createCell(5);
    cell5.setCellStyle(style);
    cell5.setCellValue("小计");
    CellRangeAddress region = new CellRangeAddress(0, 0, 2, 5);
    sheet.addMergedRegion(region);
    // 第二季度
    XSSFCell cell6 = row1.createCell(6);
    cell6.setCellStyle(style);
    cell6.setCellValue("第二季度");

    XSSFCell cell7 = row2.createCell(6);
    cell7.setCellStyle(style);
    cell7.setCellValue("4月");
    XSSFCell cell8 = row2.createCell(7);
    cell8.setCellStyle(style);
    cell8.setCellValue("5月");
    XSSFCell cell9 = row2.createCell(8);
    cell9.setCellStyle(style);
    cell9.setCellValue("6月");
    XSSFCell cell10 = row2.createCell(9);
    cell10.setCellStyle(style);
    cell10.setCellValue("小计");
    CellRangeAddress region1 = new CellRangeAddress(0, 0, 6, 9);
    sheet.addMergedRegion(region1);

    // 第三季度
    XSSFCell cell11 = row1.createCell(10);
    cell11.setCellStyle(style);
    cell11.setCellValue("第三季度");

    XSSFCell cell12 = row2.createCell(10);
    cell12.setCellStyle(style);
    cell12.setCellValue("7月");
    XSSFCell cell13 = row2.createCell(11);
    cell13.setCellStyle(style);
    cell13.setCellValue("8月");
    XSSFCell cell14 = row2.createCell(12);
    cell14.setCellStyle(style);
    cell14.setCellValue("9月");
    XSSFCell cell15 = row2.createCell(13);
    cell15.setCellStyle(style);
    cell15.setCellValue("小计");
    CellRangeAddress region2 = new CellRangeAddress(0, 0, 10, 13);
    sheet.addMergedRegion(region2);

    // 第四季度
    XSSFCell cell21 = row1.createCell(14);
    cell21.setCellStyle(style);
    cell21.setCellValue("第四季度");
    XSSFCell cell22 = row2.createCell(14);
    cell22.setCellStyle(style);
    cell22.setCellValue("10月");
    XSSFCell cell23 = row2.createCell(15);
    cell23.setCellStyle(style);
    cell23.setCellValue("11月");
    XSSFCell cell24 = row2.createCell(16);
    cell24.setCellStyle(style);
    cell24.setCellValue("12月");
    XSSFCell cell25 = row2.createCell(17);
    cell25.setCellStyle(style);
    cell25.setCellValue("小计");
    CellRangeAddress region4 = new CellRangeAddress(0, 0, 14, 17);
    sheet.addMergedRegion(region4);
    if(wb !=null){
    try
    {
    String fileName = "Excel-" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
    String headStr = "attachment; filename=" + fileName + "";
    response.reset();// 清空输出流
    response.setContentType("APPLICATION/OCTET-STREAM");
    response.setHeader("Content-Disposition", headStr);
    OutputStream out = response.getOutputStream();
    wb.write(out);
    out.close();
    }
    catch (IOException e)
    {
    e.printStackTrace();
    }
    }
    }

  • 相关阅读:
    可翻页查看(more、less)
    在CentOS 6.0下面永久关闭SELinux和防火墙
    Linux(CentOS 6.4)设置VNC远程桌面连接
    CentOS Linux防火墙配置及关闭
    ubuntu12.04循环登录,无法进桌面的问题
    转载 vi替换windows换行符为linux换行符
    sublime忽略打开工程中某些文件夹,不在搜索之列
    erl_0021 erlang和java的内存模型比较(引用)
    erl_0020 《面对软件错误构建可靠的分布式系统》读书笔记001 “面向并发COPL”
    erl_0019《硝烟中的erlang》 读书笔记005 “进程信息"
  • 原文地址:https://www.cnblogs.com/java-llp/p/10794360.html
Copyright © 2020-2023  润新知