【Java】poi | excel | 合并单元格
一、说明
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 | 合并单元格相关推荐
- java poi excel合并单元格 相同的列以及在有父级约束条件下合并二级列
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellRangeAddress;public clas ...
- Java poi导入合并单元格的excel数据【最完整】附pom文件和excel截图
代码如下: package com.haha.demo;import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermo ...
- java导出excel合并单元格
今天是2018最后一天了,废话就不多说了直接上干货吧! 1.java导出excel用到POI所有jar包 ,大家可以直接到下面地址下载点击打开链接 2.导出excel的方法 package org; ...
- java读取合并单元格_工具方法:java读取Excel合并单元格(简单实例)
Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发人员则可以利用NPOI (POI for ...
- java 读取excel 合并单元格_利用java读写Excel文件、合并单元格
一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...
- JAVA:Excel合并单元格数据读取
问题 使用poi解析excel后,若为合并单元格,仅第一行有数据,后面的合并单元格没有数据: 解决办法 判断cell是否为合并单元格,之后分类处理 //判断是否为合并行if(isMergedRegio ...
- java POI 实现合并单元格
合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress cellRangeAddress ); CellRangeAddress 对象的构造方法 ...
- java导出excel合并单元格_Java 导出Excel 合并Excel单元格
/** * 导出Excel表格 * * @param allList 要导出的数据 * @param headArr json键值对 * @param titleArr excel标题 * @pa ...
- java解析excel合并单元格,100%好评!
回答 一共五种 (一)String 这个其实没啥好说的,最常规的set/get操作,value可以是String也可以是数字.一般做一些复杂的计数功能的缓存. (二)list 使用List的数据结构, ...
最新文章
- 软件工程几点总结要点
- 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?(转)...
- kinect2的标定
- 搭建xss-platform平台
- java 计时器_Java多线程并发容器之并发倒计时器
- 基本数据类型及其包装类(一)
- python删除txt文件第三行_真香!Python十大常用文件操作,轻松办公
- [转载]c#委托事件简单例子
- 冒泡排序_Python实现
- QQ淘宝自动转链转发机器人MkStone京东淘宝转链助手
- Swift开发之简单计算器项目
- summit超级计算机gpu温度,揭秘Summit:加速计算赋力全球最快超级计算机
- 关于ORACLE删除分区
- 阿里云移动测试平台使用教程
- PublikDemand:汇集群众力量 与大公司抗争到底
- python(25)- 面向对象补充Ⅰ
- 厦门大学354汉语基础考研参考书目
- Linux通过脚本实现远程自动备份
- CleanMyMac x2021中文版mac清理软件激活码下载
- 指南针的实现代码两种方法,怎么用
热门文章
- Jmeter中参数化的使用
- Visual Studio 2008 安装出错 无法安装 问题合集
- 韦东山Linux问题笔记
- B/S与C/S模式比较
- 拯救剁手党,出点闲置改善生活吧!
- VMware虚拟机配置虚拟网卡导致浏览器DNS解析慢
- 如何在win10安装libaio,并且使用CFLAGS和LDFLAGS环境变量指示其位置,并且如何设置DS_BUILD_AIO=0禁用async_io...
- ildasm + ilasm + ilmerge 小试牛刀
- padStart与padEnd方法
- Keras 在windows环境下安装配置教程