Java代码  
  1. RegionUtil.setBorderLeft(1, cellRangeAddress, sheet, wb);
  2. RegionUtil.setBorderBottom(1, cellRangeAddress, sheet, wb);
  3. RegionUtil.setBorderRight(1, cellRangeAddress, sheet, wb);
  4. RegionUtil.setBorderTop(1, cellRangeAddress, sheet, wb);
上面是加边框的核心代码,为单元格的上,下左,右四边加边框!我测试在单个合并单元格的时候,是没有什么问题的!但是当我用下面代码的时候会出现有的边框没有

Java代码  
  1. Row row=sheet.createRow((short)0);
  2. ImageUtil.createCell("排序", 0, sctext, row);
  3. CellRangeAddress CellRangeAddress1 = new CellRangeAddress(0,2,0,0);
  4. sheet.addMergedRegion(CellRangeAddress1);
  5. RegionUtil.setBorderLeft(1, cellRangeAddress, sheet, wb);
  6. RegionUtil.setBorderBottom(1, cellRangeAddress, sheet, wb);
  7. RegionUtil.setBorderRight(1, cellRangeAddress, sheet, wb);
  8. RegionUtil.setBorderTop(1, cellRangeAddress, sheet, wb);
  9. ImageUtil.createCell("项目名称", 1, sctext, row);
  10. CellRangeAddress CellRangeAddress2 = new CellRangeAddress(0,2,1,1);
  11. sheet.addMergedRegion(CellRangeAddress2);
  12. ImageUtil.createCell("姓名", 2, sctext, row);
  13. CellRangeAddress CellRangeAddress3 = new CellRangeAddress(0,2,2,2);
  14. sheet.addMergedRegion(CellRangeAddress3);
  15. ImageUtil.createCell("各指标完成情况总数据", 3, sctext, row);
  16. CellRangeAddress CellRangeAddress4 = new CellRangeAddress(0,0,3,8);
  17. sheet.addMergedRegion(new CellRangeAddress(0,0,3,8));
  18. ImageUtil.createCell("各指标完成率", 9, sctext, row);
  19. CellRangeAddress CellRangeAddress5 = new CellRangeAddress(0,0,9,14);
  20. sheet.addMergedRegion(CellRangeAddress5);
  21. Row row2=sheet.createRow((short)1);
  22. ImageUtil.createCell("覆盖面", 3, sctext, row2);
  23. CellRangeAddress CellRangeAddress6 = new CellRangeAddress(1,1,3,4);
  24. sheet.addMergedRegion(CellRangeAddress6);
  25. ImageUtil.createCell("频次", 5, sctext, row2);
  26. CellRangeAddress CellRangeAddress7 = new CellRangeAddress(1,1,5,6);
  27. sheet.addMergedRegion(CellRangeAddress7);

结果如下图:

最后是顺序问题导致的.其原因是因为在编辑单元格的时候,后者覆盖了前者的style.

解决办法:

封装了一个方法:

Java代码  
  1. public void setBorder(CellRangeAddress cellRangeAddress, Sheet sheet,
  2. Workbook wb) throws Exception {
  3. RegionUtil.setBorderLeft(1, cellRangeAddress, sheet, wb);
  4. RegionUtil.setBorderBottom(1, cellRangeAddress, sheet, wb);
  5. RegionUtil.setBorderRight(1, cellRangeAddress, sheet, wb);
  6. RegionUtil.setBorderTop(1, cellRangeAddress, sheet, wb);
  7. }

然后将调用该方法的步骤放到最后,记得是最后,就是全部单元格合并之后,否则会覆盖的,如下:

Java代码  
  1. super.setBorder(CellRangeAddress1, sheet, book);
  2. super.setBorder(CellRangeAddress2, sheet, book);
  3. super.setBorder(CellRangeAddress3, sheet, book);
  4. super.setBorder(CellRangeAddress4, sheet, book);
  5. super.setBorder(CellRangeAddress5, sheet, book);
  6. super.setBorder(CellRangeAddress6, sheet, book);
  7. super.setBorder(CellRangeAddress7, sheet, book);
  8. super.setBorder(CellRangeAddress8, sheet, book);
  9. super.setBorder(CellRangeAddress9, sheet, book);
  10. super.setBorder(CellRangeAddress10, sheet, book);
  11. super.setBorder(CellRangeAddress11, sheet, book);
  12. super.setBorder(CellRangeAddress12, sheet, book);
  13. super.setBorder(CellRangeAddress13, sheet, book);
  14. super.setBorder(CellRangeAddress14, sheet, book);
  15. super.setBorder(CellRangeAddress15, sheet, book);
  16. super.setBorder(CellRangeAddress16, sheet, book);

 

POI Excel表格合并,边框设置相关推荐

  1. 多个excel表格合并一键操作

    今天跟大家分享一下多个excel表格合并一键操作 1.打开演示文件,要求将多个表格合并并标注表格来源. 2.首先我们点击下图选项 3.接着我们依次选择[汇总拆分]-[合并多表] 4.勾选[合并后,标注 ...

  2. 计算机怎么乘以百分数,excel怎么算乘法?excel表格中如何设置自动乘百分数

    excel怎么求 百分比 完成率 excelhome :如何设置完成率的最大百分比 苹果电脑excel如何算百分比? 首先,选择好百分比这一列,然后插入->图->水平条状图. 选建的图表: ...

  3. HTML5合并单元格居中,excel表格合并后居中的方法步骤

    Excel中具体该如何合并后进行合并呢?接下来是学习啦小编为大家带来的excel表格合并后居中的方法,供大家参考. excel表格合并后居中的方法 合并居中步骤1:在"开始"功能区 ...

  4. excel合并多个工作表_快速将多个Excel表格合并成一个Excel表格

    之前在微信群内有朋友问我如何快速将多个Excel表格合并成一个Excel表格,当时没有讲解清楚,今天专门来告诉大家如何快速合并Excel表格到一个工作表中. 在合并表格中,不外乎以下两种情况: 将多个 ...

  5. excel表格合并程序

    excel表格合并程序(自行打包成EXE使用) import tkinter as tk from tkinter import filedialog from datetime import dat ...

  6. Python实现excel表格合并

    使用Python实现excel表格合并(程序打包:pyinstaller -F ***.py): 一个excel文件的多sheet合并 文件夹下多个Excel文件的合并(单个文件的多sheet也会自动 ...

  7. excel如何把多张表合并成一个表_如何快速把多个excel表格合并成一个excel表

    如何快速把多个excel表格合并成一个excel表呢? 首先,我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel文件. 用microsoft excel打开新建的e ...

  8. 【JavaScript编写计算工资小程序】【表格细边框设置】【网页设计与网站开发HTML、CSS、JavaScript实例教程】【第十章】JavaScript基础——【传智播客】实验作业题【实验5】

    以下为本人大一选修课<网页设计与网站开发>的实验作业题,均为本人原创,分享给大家.如有不足之处欢迎指出. 1.题目: 实验5.新建页面test5.html,利用JavaScript编写如下 ...

  9. 在Excel表格中如何设置字体随单元格大小变化

    在Excel表格中如何设置字体随单元格大小变化 目录 在Excel表格中如何设置字体随单元格大小变化 1.选中单元格,鼠标右键点击"设置单元格式" ​2.在"对齐&quo ...

最新文章

  1. android TextView实现滚动显示效果
  2. 秒懂词向量Word2vec的本质
  3. 伺服电机常用参数设置_6个步骤教你如何快速调试伺服电机
  4. 【数学建模】图论模型-Floyd算法(最优化)
  5. 记一次CPU飙升的问题分析解决思路(转)
  6. python 魔法方法常用_Python魔法方法指南
  7. docker安装elasticsearch_Elasticsearch amp; Kibana 部署安装 (Docker)
  8. 解放计算给服务带来的压力,第一想到的就是阿里云高性能计算(HPC)
  9. C++ container member map
  10. html 折叠焦点图切换,自适应全屏焦点图切换CSS3特效
  11. C++中void指针
  12. html5在线拍照,h5调用html5拍照上传功能
  13. 完全自学C(干货) —— 结构体初识
  14. 信鸽推送接收通知点击打开相应Activity
  15. Unity脚本:寻找血量最低的敌人
  16. 技嘉B460M小雕板win2012 R2安装网卡驱动
  17. 导致MySQL的查询语句效率低下的可能原因
  18. 基于python的学生成绩管理系统毕业设计源码071143
  19. initramfs进不了系统
  20. SpringMVC课程学习笔记-day02

热门文章

  1. JVM-12虚拟机性能监控与故障处理工具之【JDK的可视化工具-VisualVM】
  2. 判断回文链表(剑指offer.027)
  3. 学习笔记Hadoop(六)—— Hadoop集群的安装与部署(3)—— 配置ssh无密码登录
  4. QT5实践:菜单窗口实现图像打开浏览、存盘
  5. c语言中c为字符型便量,c='97'是否正确,C语言判断题Word版
  6. android transform xml xsl,XslCompiledTransform.Transform 方法 (System.Xml.Xsl) | Microsoft Docs
  7. python中with的用法,上下文管理器
  8. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...
  9. Special Judge Ⅲ(这道题考的就是出栈序列判定_关键代码不差什么)
  10. 《卓有成效的程序员》读书笔记