// 设置格式样式
HSSFCellStyle cellStyle = (HSSFCellStyle) workbook.createCellStyle();
// 设置所有单元格文字左右居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
// 设置所有单元格文字上下居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//将需要合并的列,放入数组
int[] arr = new int[]{13,14,15,16};
//根据唯一标识来id判断,合并对应的单元格
List<Excel> merge = merge(dataList, arr);
for (Excel excel : merge) {sheet.addMergedRegion(new CellRangeAddress(excel.getStartRow(),excel.getEndRow(),excel.getStartCol(),excel.getEndCol()));
}//传入导出的对象集合,并传入需要合并的列数组
private static List<Excel> merge(List<Contract> list, int[] arr){int start = 1;//记录开始行号(0行为表头,需要去除)int end = 1;//记录结束行号int count = 1;//记录结束行号List<Excel> excel = new ArrayList<Excel>();//遍历集合,判断,id一样的有几个for (int i = 0; i < list.size(); i++) {Integer id1 = list.get(i).getId();Integer id2 = 0;if (i+1<list.size()){id2 = list.get(i + 1).getId();}if (id1.equals(id2)){end = i+2;}else {if (start != end){start = count;for (int a : arr) {excel.add(new Excel(start,end,a,a));}}count = i+2;start =end;}}return excel;
}
// 设置格式样式
HSSFCellStyle cellStyle = (HSSFCellStyle) workbook.createCellStyle();
// 设置所有单元格文字左右居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
// 设置所有单元格文字上下居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//将需要合并的列,放入数组
int[] arr = new int[]{13,14,15,16};
//根据唯一标识来id判断,合并对应的单元格
List<Excel> merge = merge(dataList, arr);
for (Excel excel : merge) {sheet.addMergedRegion(new CellRangeAddress(excel.getStartRow(),excel.getEndRow(),excel.getStartCol(),excel.getEndCol()));
}
//传入导出的对象集合,并传入需要合并的列数组
private static List<Excel> merge(List<Contract> list, int[] arr){int start = 1;//记录开始行号(0行为表头,需要去除)int end = 1;//记录结束行号int count = 1;//记录结束行号List<Excel> excel = new ArrayList<Excel>();//遍历集合,判断,id一样的有几个for (int i = 0; i < list.size(); i++) {Integer id1 = list.get(i).getId();Integer id2 = 0;if (i+1<list.size()){id2 = list.get(i + 1).getId();}if (id1.equals(id2)){end = i+2;}else {if (start != end){start = count;for (int a : arr) {excel.add(new Excel(start,end,a,a));}}count = i+2;start =end;}}return excel;
}

poi导出excel,数据相同时自动居中合并相关推荐

  1. excel导出java不完整_有关Java POI导出excel表格中,单元格合并之后显示不全的解决方法。...

    我在table变换excel之后发现合并的单元格不能显示全部边框,在网上找了半天解决方案,终于解决了.具体解决代码如下; /** * 设置合并单元格的边框样式 * * @param sheet 当前表 ...

  2. poi导出excel时带有超链接

    两种方式,第一种适合xls,不过当数据量超出五百条后,超链接的样式会不起作用. 第二种比较适合xlsx 两种方式都会或多或少有问题,大家在用的时候需要根据自身情况进行选择和调整, 第一种方式 pack ...

  3. 使用poi导出大量数据到excel遇到的问题

    最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完 ...

  4. POI导出Excel时下拉列表值超过255的问题(String literals in formulas can‘t be bigger than 255 characters ASCII)

    一.简单的描述问题:(记录问题) 首先说一下我们导出的这个Excel表,我们是通过POI来生成一个Excel表,然后在Excel表中添加了下拉列表,然后将数据库中取出的数据放到下拉列表中,这样每次导出 ...

  5. 案例分享:Qt多通道数据采集系统(通道配置、电压转换、采样频率、通道补偿值、定时采集、导出excel和图表、自动XY轴、隐藏XY轴、实时隐藏显示通道)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110941614 长期持续带来更多项目与技术分 ...

  6. POI导出Excel遇到数据量大该如何解决

    最近在使用Java POI导出Excel,使用的是XSSFWorkbook ,遇到数据量超过10w的话程序会爆内存溢出的错误,将XSSFWorkbook 换成SXSSFWorkbook 即可 SXSS ...

  7. Java POI导出Excel时,合并单元格没有边框的问题

    今天用POI导出Excel的时候,发现导出的单元格确少边框,最后发现有2个方案可以解决. 方案一 CellRangeAddress的4个参数分别表示:起始行号,终止行号, 起始列号,终止列号 // 使 ...

  8. poi导出Excel文件下载数据

    poi导出Excel文件下载数据 poi上传Excel文件批量的添加数据 : https://blog.csdn.net/kangshifu007/article/details/103149764 ...

  9. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

最新文章

  1. python如何输出多个星号_如何将 Python 的一个类方法变为多个方法?
  2. 大二上期计算机试题答案,2019年对口升学班上期期末计算机网络技术试卷及答案知识讲解.doc...
  3. 安装后改中文界面_非常详尽图文KVM安装CentOS
  4. python3 mysql同步_MySQL上云同步脚本-Python3
  5. python学习-异常(异常类型,异常处理、自定义异常)
  6. poj2965 The Pilots Brothers' refrigerator
  7. 杂谈(2)---成熟人士的50个处事细节
  8. g30u盘启动 中科曙光1620_I840-G30
  9. Netty工作笔记0055---Unpooled应用实例1
  10. 浅谈移动Web开发(上):深入概念
  11. Clojure 学习入门(2)- eclipse 插件
  12. 数据结构-算法和算法评价
  13. sqoop遇到的问题
  14. cdr怎么做文字路径_抖音短视频中边说过边出现文字的是怎么做的?教程如下
  15. 【雷达通信】基于matlab GPS和INS联合导航【含Matlab源码 1814期】
  16. 日常使用的图片文件格式及各自的区别,JPG/PNG/GIF/RAW/WebP/HEIC
  17. 转李承鹏的《恰恰》,这次一定要顶他
  18. 猫眼电影票房爬取到MySQL中_Scrapy爬取猫眼电影并存入MongoDB数据库
  19. Transformer靠什么基因,得以闯入CV界秒杀CNN?
  20. 如何批量添加图片到ppt的方法

热门文章

  1. MSP430 MSP430Ware TI Resource Explorer
  2. 系统应用架构图如何画
  3. 运营新人必看 eBay申诉的最全资料
  4. 为什么要办互联网药品信息服务资格证
  5. 闪电网络白皮书(百度网盘地址下载)
  6. 与甲骨文长达六年的版权拉锯,谷歌的胜利是软件行业的胜利
  7. ARX和ODA中关于多段线曲线拟合的方法curveFit()
  8. 国内云主机“两大众小” 低价背后是故障太多
  9. 云服务器的简单搭建,设置网页可以上网访问
  10. arduino 控制无刷电机_单片机控制无刷电机(详细程序)——arduino源代码.doc