一、说明

1、maven项目

2、基于ruoyi-fast

二、解决方案

1、合并行

需求:合并第一行和第二行

解决:

CellRangeAddress region = new CellRangeAddress(0, 1, 0, 0);
sheet.addMergedRegion(region);

示例图:

解释1: firstRow,lastRow,即合并从第N行到第N行,从0开始

解释2: 合并行,列数不变

解释3: 合并行,需连续

2、合并列

需求: 合并第6列到第17列

解决:

region = new CellRangeAddress(0, 0, 5, 16);
sheet.addMergedRegion(region);

示例图:

解释1: firstCol,lastCol,即合并从第N列到第N列

解释2: 合并列,行数不变

解释3: 合并列,需连续

3、同时合并行合并列

请自由发挥

三、完成测试类

与 ExcelUtil 在同一包

package com.ruoyi.common.utils.poi;import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.util.CellRangeAddress;import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;/*** demo测试* @author hgSuper* @date 2021-08-09*/
public class DemoExcelUtils {public static void main(String[] args)throws Exception {t();}//创建Excel对象public static void t() throws IOException {//创建工作薄对象HSSFWorkbook workbook = new HSSFWorkbook();//这里也可以设置sheet的Name//创建工作表对象HSSFSheet sheet = workbook.createSheet();//创建工作表的行HSSFRow row = sheet.createRow(0);//设置第一行,从零开始row.createCell(0, CellType.STRING).setCellValue("序号");row.createCell(1, CellType.STRING).setCellValue("编码");row.createCell(2, CellType.STRING).setCellValue("名称");row.createCell(3, CellType.STRING).setCellValue("单位");row.createCell(4, CellType.STRING).setCellValue("量");row.createCell(5, CellType.STRING).setCellValue("量详细");row.createCell(6, CellType.STRING).setCellValue("");row.createCell(7, CellType.STRING).setCellValue("");row.createCell(8, CellType.STRING).setCellValue("");row.createCell(9, CellType.STRING).setCellValue("");row.createCell(10, CellType.STRING).setCellValue("");row.createCell(11, CellType.STRING).setCellValue("");row.createCell(12, CellType.STRING).setCellValue("");row.createCell(13, CellType.STRING).setCellValue("");row.createCell(14, CellType.STRING).setCellValue("");row.createCell(15, CellType.STRING).setCellValue("");row.createCell(16, CellType.STRING).setCellValue("");row = sheet.createRow(1);//设置第一行,从零开始row.createCell(0, CellType.STRING).setCellValue("1");row.createCell(1, CellType.STRING).setCellValue("2");row.createCell(2, CellType.STRING).setCellValue("3");row.createCell(3, CellType.STRING).setCellValue("4");row.createCell(4, CellType.STRING).setCellValue("5");// 月份for (int i = 1; i <= 12; i ++) {row.createCell(i + 4, CellType.STRING).setCellValue(String.valueOf(i));}CellRangeAddress region = new CellRangeAddress(0, 1, 0, 0);sheet.addMergedRegion(region);region = new CellRangeAddress(0, 1, 1, 1);sheet.addMergedRegion(region);region = new CellRangeAddress(0, 1, 2, 2);sheet.addMergedRegion(region);region = new CellRangeAddress(0, 1, 3, 3);sheet.addMergedRegion(region);region = new CellRangeAddress(0, 1, 4, 4);sheet.addMergedRegion(region);region = new CellRangeAddress(0, 0, 5, 16);sheet.addMergedRegion(region);//文档输出FileOutputStream out = new FileOutputStream("F:\\tmp\\hg\\" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString() +".xls");workbook.write(out);out.close();}
}

【Java】poi | excel | 合并单元格相关推荐

  1. java poi excel合并单元格 相同的列以及在有父级约束条件下合并二级列

    import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellRangeAddress;public clas ...

  2. Java poi导入合并单元格的excel数据【最完整】附pom文件和excel截图

    代码如下: package com.haha.demo;import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermo ...

  3. java导出excel合并单元格

    今天是2018最后一天了,废话就不多说了直接上干货吧! 1.java导出excel用到POI所有jar包 ,大家可以直接到下面地址下载点击打开链接 2.导出excel的方法 package org; ...

  4. java读取合并单元格_工具方法:java读取Excel合并单元格(简单实例)

    Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发人员则可以利用NPOI (POI for ...

  5. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  6. JAVA:Excel合并单元格数据读取

    问题 使用poi解析excel后,若为合并单元格,仅第一行有数据,后面的合并单元格没有数据: 解决办法 判断cell是否为合并单元格,之后分类处理 //判断是否为合并行if(isMergedRegio ...

  7. java POI 实现合并单元格

    合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  ); CellRangeAddress  对象的构造方法 ...

  8. java导出excel合并单元格_Java 导出Excel 合并Excel单元格

    /** * 导出Excel表格 * * @param allList  要导出的数据 * @param headArr  json键值对 * @param titleArr excel标题 * @pa ...

  9. java解析excel合并单元格,100%好评!

    回答 一共五种 (一)String 这个其实没啥好说的,最常规的set/get操作,value可以是String也可以是数字.一般做一些复杂的计数功能的缓存. (二)list 使用List的数据结构, ...

最新文章

  1. 软件工程几点总结要点
  2. 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?(转)...
  3. kinect2的标定
  4. 搭建xss-platform平台
  5. java 计时器_Java多线程并发容器之并发倒计时器
  6. 基本数据类型及其包装类(一)
  7. python删除txt文件第三行_真香!Python十大常用文件操作,轻松办公
  8. [转载]c#委托事件简单例子
  9. 冒泡排序_Python实现
  10. QQ淘宝自动转链转发机器人MkStone京东淘宝转链助手
  11. Swift开发之简单计算器项目
  12. summit超级计算机gpu温度,揭秘Summit:加速计算赋力全球最快超级计算机
  13. 关于ORACLE删除分区
  14. 阿里云移动测试平台使用教程
  15. PublikDemand:汇集群众力量 与大公司抗争到底
  16. python(25)- 面向对象补充Ⅰ
  17. 厦门大学354汉语基础考研参考书目
  18. Linux通过脚本实现远程自动备份
  19. CleanMyMac x2021中文版mac清理软件激活码下载
  20. 指南针的实现代码两种方法,怎么用

热门文章

  1. Jmeter中参数化的使用
  2. Visual Studio 2008 安装出错 无法安装 问题合集
  3. 韦东山Linux问题笔记
  4. B/S与C/S模式比较
  5. 拯救剁手党,出点闲置改善生活吧!
  6. VMware虚拟机配置虚拟网卡导致浏览器DNS解析慢
  7. 如何在win10安装libaio,并且使用CFLAGS和LDFLAGS环境变量指示其位置,并且如何设置DS_BUILD_AIO=0禁用async_io...
  8. ildasm + ilasm + ilmerge 小试牛刀
  9. padStart与padEnd方法
  10. Keras 在windows环境下安装配置教程