public voidexpStatistics(String filePath,String campuscode) {try{

WritableWorkbook wwb= Workbook.createWorkbook(newFile(filePath));

JxlFormatUtil Jfu= newJxlFormatUtil();

WritableSheet ws= wwb.createSheet("房屋报表统计", 0);

String[] tableHead= {"校区名称:20","房屋类型:30","房屋用途:30","使用面积(㎡):20"};for (int i = 0; i < tableHead.length; i++) {//每一列的标题样式

ws.addCell(new Label(i, 0, tableHead[i].split(":")[0], JxlFormatUtil.wcHead));

ws.setColumnView(i, Integer.valueOf(tableHead[i].split(":")[1]));

}int col = 1;//从第1行开始//以下变量用来融合相同内容 的行

int perCol =col;

String perPurpose= "";//上一个用途类型

String purpose = "";//当前用途类型

int startMergeCol = 1;//要融合的第一行

int endMergeCol = 0;//要融合的最后行

boolean flag = true;//用来记录是否是第一次循环//根据搜索条件导出

List campusList = new ArrayList();if(null != campuscode && !"".equals(campuscode)){

campusList=campusdao.findCampusByCode(campuscode);

}else{

campusList=campusdao.findCampus();

}for(FcxtCampus campus : campusList) {

List builds = builddao.statisticsBuilds(campus.getCampuscode());//获取所有房屋信息

if(null != builds && builds.size() > 0){for(FcxtBuild build : builds) {int row = 0;//从第0列开始

ws.addCell(new Label(row++, col, campus.getCampusname(), JxlFormatUtil.wcCenter));

purpose=build.getUsefulpurpose();if(flag){//如果是第一次循环,将perPurpose初始化,以便后面的第一次判断

perPurpose =purpose;

flag= false;

}

ws.addCell(new Label(row++, col, FcxtBuild.BUILD_USEFULPURPOSE.get(build.getUsefulpurpose()), JxlFormatUtil.wcCenter));if(purpose.equals(perPurpose)){

endMergeCol++;

}else{//两者不相同时,融合之前相同的行

ws.mergeCells(1, startMergeCol, 1, endMergeCol);

startMergeCol=col;

endMergeCol=startMergeCol;

perPurpose=purpose;

}

ws.addCell(new Label(row++, col, FcxtBuild.BUILD_BUILDINGTYPE.get(build.getBuildingtype()), JxlFormatUtil.wcCenter));

ws.addCell(new Label(row++, col, build.getBuildarea().toString(), JxlFormatUtil.wcCenter));

col++;

}

ws.mergeCells(0, perCol, 0, col-1);

perCol=col;

}

}

wwb.write();

wwb.close();

}catch(Exception e) {

e.printStackTrace();

}

}

java循环合并行_java导出excel时合并同一列中相同内容的行相关推荐

  1. java 导出如何合并列_Java导出excel时合并同一列中相同内容的行思路详解

    一.有时候导出Excel时需要按类别导出,一大类下好几个小类,小类下又有好几个小小类,就像下图: 要实现这个也不难, 思路如下:按照大类来循环,如上就是按照张江校区.徐汇校区.临港校区三个大类循环,然 ...

  2. java excel中重复数据 事务处理_Java导出excel时合并同一列中相同内容的行思路详解...

    一.有时候导出Excel时需要按类别导出,一大类下好几个小类,小类下又有好几个小小类,就像下图: 要实现这个也不难, 思路如下:按照大类来循环,如上就是按照张江校区.徐汇校区.临港校区三个大类循环,然 ...

  3. Java 利用hutool工具实现导出excel并合并单元格

    Java 利用hutool工具实现导出excel并合并单元格 controller层调用service,就一个核心方法,没错就下面这个代码就能实现了.前提是项目里面要引用hutool包.把我这个复制到 ...

  4. java导出excel 乱码_java导出excel时出现文件名乱码解决方法

    java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...

  5. ruoyi导出excel时合并单元格

    ruoyi版本 3.8.2 首先第一步 增加注解 /*** 合并行* 参数1合并第一个参数为合并基准列,其他列用逗号拼接,依据基准列进行当前单元行合并 参数:如1,7, 8*/ public Stri ...

  6. java excil表格开发_JAVA导出Excel电子表格的方法

    JAVA导出Excel电子表格的方法 package com.qingruxu.excel; import java.io.File; import java.io.IOException; impo ...

  7. 若依管理系统源码分析-导出Excel时怎样通过注解中readConverterExp实现格式化导出列的显示格式(0和1格式化为是否)

    场景 在数据库中存储某些个是否的字段时,有时会使用tinint进行存储 这样会在实体类中生成布尔类型的变量 private Boolean sfkt; 有时也会用int进行存储是否 那么在实体类中就可 ...

  8. java合并sheet行_java poi Excel循环合并行

    //Java poi 实现循环合并行,还是第一次遇到这种问题 //在网上查了很多资料,都不是自己想要的 //以下为自己研究后,写的一点东西,给大家分享,希望对大家能有思路上的启发,也希望大家能提出宝贵 ...

  9. java导出excel文件名_怎么解决java导出excel时文件名乱码

    怎么解决java导出excel时文件名乱码 发布时间:2020-06-19 16:59:00 来源:亿速云 阅读:137 作者:元一 java解决导出Excel时文件名乱码的方法示例:String a ...

最新文章

  1. libevent和libcurl实现http和https服务器 cJSON使用
  2. springcloud19---springCloudConfig
  3. 化工网站开发_西部地区鼓励投资化工(石化)项目征求意见发布
  4. Pricing determination in SAP S4CRM
  5. SQL 2005 的存储过程和触发器调试大法
  6. 自己定义控件-仿iphone之ToggleButtonamp;VoiceSeekBar
  7. ORA-02290:违反检查约束条件(sys_c0011321)什么原因
  8. 【分享】写论文超好用的一些工具
  9. Proxmox VE7.3+Ceph超融合私有云建设案例(低成本高价值,拿走不谢)
  10. 【计算机网络】ARP协议工作原理
  11. 一文看懂WebRTC媒体服务器
  12. 1278:【例9.22】复制书稿(book)
  13. 用HTML语言编写 蓝色字体,背景色为蓝色,字体为红色的代码 怎么用HTML的形式表示?...
  14. 进程间通信之面包师问题
  15. 【仿穷游项目】无缝连续滚动特效
  16. 8条佛曰 66句禅语
  17. 创业公司如何分配股份与期权
  18. 视频教程-FPS游戏逆向与安全+UE4引擎基础详解-其他
  19. 面向切面编程实现Nestjs接口Api数据缓存
  20. 大疆无人机+PhotoScan 来完成航拍三维模型

热门文章

  1. 计算机性能指标最主要的是什么,计算机性能指标是什么
  2. Go核心开发学习笔记(廿九) —— 反射
  3. 神经网络与深度学习(三)——反向传播算法
  4. You may want to first integrate the remote changes (e.g., ‘git pull ...‘) before pushing again多种解决方法
  5. 电脑开机提示2101:detection error on Storage device0
  6. Java 时间日期操作
  7. BIGO面试经历20190902
  8. 科技云报道:大小巨头涌入赛道,隐私计算迎来商业落地元年
  9. Hadoop基础(手写笔记)
  10. 高数下|偏导数|高数叔|手写笔记