使用jxl生成Excel,带有合并标题

public void exportList() throws Exception{
    List<String> title=new ArrayList<String>();
    title.add("序号");title.add("地区");
    title.add("项目名称");title.add("项目建设目标和主要建设内容");
    title.add("申请单位情况");title.add("");
    title.add("");title.add("");
    title.add("");title.add("企业知识产权情况");
    title.add("");title.add("");
    title.add("企业2018年经济效益(万元)");title.add("");
    title.add("");title.add("");
    title.add("项目经费(万元)");title.add("");
    title.add("");title.add("");
    title.add("项目技术设备投资总额(万元)");title.add("");
    title.add("项目预期新增自主创新成果");title.add("");
    title.add("");title.add("项目预期新增经济效益(万元)");
    title.add("");title.add("");title.add("项目起止年月");

    List<String> titles=new ArrayList<String>();
    titles.add("");titles.add("");
    titles.add("");titles.add("");
    titles.add("企业名称");titles.add("所属新兴产业");
    titles.add("组织机构代码");titles.add("技术中心级别");
    titles.add("是否在国家级或省级新型工业化产业示范基地内");titles.add("拥有授权专利数");
    titles.add("其中:拥有授权发明专利数");titles.add("申请专利数");
    titles.add("销售收入");titles.add("研发投入");
    titles.add("税金");titles.add("利润");
    titles.add("总投资");titles.add("自筹");
    titles.add("贷款");titles.add("申请财政补助");
    titles.add("技术设备购置总额");titles.add("2018年1月1日至2018年12月31日技术设备购置额");
    titles.add("项目预期形成专利数");titles.add("项目预期形成发明专利数");
    titles.add("项目预计开发新产品(新技术)数量");titles.add("销售收入");
    titles.add("税金");titles.add("利润");titles.add("");

    WritableWorkbook workbook = null;
    WritableSheet worksheet = null;
    Label label = null;

    String targetFile="D:/upload/fdacis/export/exportExcel.xls";
    String sheet="企业创新能力汇总";

    checkFile(targetFile);

    OutputStream os = new FileOutputStream(targetFile);
    workbook = Workbook.createWorkbook(os);
    worksheet = workbook.createSheet(sheet, 0);

    //设置列宽
    worksheet.setColumnView(1,12);
    worksheet.setColumnView(2,15);
    worksheet.setColumnView(3,20);//列  宽度
    worksheet.setColumnView(4,15);
    worksheet.setColumnView(5,12);
    worksheet.setColumnView(6,15);
    worksheet.setColumnView(7,12);
    worksheet.setColumnView(8,22);
    worksheet.setColumnView(10,13);
    worksheet.setColumnView(12,12);
    worksheet.setColumnView(19,12);
    worksheet.setColumnView(20,17);
    worksheet.setColumnView(21,22);
    worksheet.setColumnView(22,12);
    worksheet.setColumnView(23,13);
    worksheet.setColumnView(24,17);
    worksheet.setColumnView(28,16);
    //设置行高
    worksheet.setRowView(0,670);
    worksheet.setRowView(1,1200);
    //设置样式
    WritableFont wfont=new WritableFont(WritableFont.ARIAL,12);
    WritableCellFormat titleFormat = new WritableCellFormat(wfont);
    titleFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);   //设置垂直居中
    titleFormat.setAlignment(jxl.format.Alignment.CENTRE);//设置文字居中对齐方式
    titleFormat.setBorder(Border.ALL, BorderLineStyle.THIN);//设置边框,dashed虚线,THIN实线,dotted虚线,double双实线
    titleFormat.setWrap(true);//自动换行
    //titleFormat.setBackground(jxl.format.Colour.GREY_25_PERCENT);//单元格背景色
    //合并单元格
    //mergeCells(a,b,c,d) 单元格合并函数
    //a 单元格的列号
    //b 单元格的行号
    //c 从单元格[a,b]起,向左合并到c列
    //d 从单元格[a,b]起,向下合并到d行
    worksheet.mergeCells(0,0,0,1);
    worksheet.mergeCells(1,0,0,1);
    worksheet.mergeCells(2,0,0,1);
    worksheet.mergeCells(3,0,0,1);
    worksheet.mergeCells(4,0,8,0);
    worksheet.mergeCells(9,0,11,0);
    worksheet.mergeCells(12,0,15,0);
    worksheet.mergeCells(16,0,19,0);
    worksheet.mergeCells(20,0,21,0);
    worksheet.mergeCells(22,0,24,0);
    worksheet.mergeCells(25,0,27,0);
    worksheet.mergeCells(28,0,0,1);
    // title start
    for (int i = 0; i < title.size(); i++) {
        label = new Label(i, 0, title.get(i),titleFormat);// 列 行 内容
        worksheet.addCell(label);
    }
    // title start
    for (int i = 0; i < titles.size(); i++) {
        label = new Label(i, 1, titles.get(i),titleFormat);// 列 行 内容
        worksheet.addCell(label);
    }

    //content start
    for (int i = 0; i < exportList.size(); i++) {
        Map<String,Object> map=exportList.get(i);
        worksheet.addCell(new Label(0, i+2,String.valueOf(i+1),titleFormat));// 列 行 内容
        worksheet.addCell(new Label(1, i+2,isNull(map.get("dq")),titleFormat));
        worksheet.addCell(new Label(2, i+2,isNull(map.get("xmmc")),titleFormat));
        worksheet.addCell(new Label(3, i+2,isNull(map.get("xmjnr")),titleFormat));
        worksheet.addCell(new Label(4, i+2,isNull(map.get("qymc")),titleFormat));
        worksheet.addCell(new Label(5, i+2,isNull(map.get("sscy")),titleFormat));
        worksheet.addCell(new Label(6, i+2,isNull(map.get("zzjgdm")),titleFormat));
        worksheet.addCell(new Label(7, i+2,isNull(map.get("qyjszxjb1")),titleFormat));
        worksheet.addCell(new Label(8, i+2,isNull(map.get("sfsfjd")),titleFormat));
        worksheet.addCell(new Label(9, i+2,isNull(map.get("yysqzls")),titleFormat));
        worksheet.addCell(new Label(10, i+2,isNull(map.get("fmzls")),titleFormat));
        worksheet.addCell(new Label(11, i+2,isNull(map.get("sqzls")),titleFormat));
        worksheet.addCell(new Label(12, i+2,isNull(map.get("xssr")),titleFormat));
        worksheet.addCell(new Label(13, i+2,isNull(map.get("yfjftr")),titleFormat));
        worksheet.addCell(new Label(14, i+2,isNull(map.get("sj")),titleFormat));
        worksheet.addCell(new Label(15, i+2,isNull(map.get("lr")),titleFormat));
        worksheet.addCell(new Label(16, i+2,isNull(map.get("xmztz")),titleFormat));
        worksheet.addCell(new Label(17, i+2,isNull(map.get("zczj")),titleFormat));
        worksheet.addCell(new Label(18, i+2,isNull(map.get("yhdk")),titleFormat));
        worksheet.addCell(new Label(19, i+2,isNull(map.get("sqczbz")),titleFormat));
        worksheet.addCell(new Label(20, i+2,isNull(map.get("jssbgzze")),titleFormat));
        worksheet.addCell(new Label(21, i+2,isNull(map.get("qzgze")),titleFormat));
        worksheet.addCell(new Label(22, i+2,isNull(map.get("xmyqxczls")),titleFormat));
        worksheet.addCell(new Label(23, i+2,isNull(map.get("yqfmzls")),titleFormat));
        worksheet.addCell(new Label(24, i+2,isNull(map.get("yqxcxcp")),titleFormat));
        worksheet.addCell(new Label(25, i+2,isNull(map.get("xzxssr")),titleFormat));
        worksheet.addCell(new Label(26, i+2,isNull(map.get("xzsj")),titleFormat));
        worksheet.addCell(new Label(27, i+2,isNull(map.get("xzlr")),titleFormat));
        worksheet.addCell(new Label(28, i+2,isNull(map.get("qssj")),titleFormat));
    }
    workbook.write();
    workbook.close();
    os.close();
}
 

/**
 * 检查文件是否存在,存在则删除
 */
public  void checkFile(String target) {
    String path = target.substring(0,target.lastIndexOf("/"));
    checkDir(path);
    File file = new File(target);
    if (file.exists()) {
        file.delete();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值