POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet。
跨第1行第1个到第2个单元格的操作为
sheet.addMergedRegion(new Region(0,(short)0,0,(short)1));
跨第1行第1个到第2行第1个单元格的操作为
sheet.addMergedRegion(new Region(0,(short)0,1,(short)0));
重点注意事项:
1.单元格CELL和ROW对象下标都是从0开始的。
2.单元格合并时Region(1,2,3,4)第1个值的行号必须要比3位置的行号小,如果大于3就不能正常合并单元格
3.合并单元格的时候要合并的单单元格必须先创建,这样方便后面再次获取这个单元格来填充数据,主要就是因为合并时不能由后向前进行合并引起的。
- package com.cz.test;
- import java.io.FileOutputStream;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import javax.swing.JOptionPane;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFCellStyle;
- 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.hssf.util.Region;
- import com.cz.util.SqlHelper;
- public class ExcelExport2 {
- public static void resultSetToExcel(ResultSet rs, String xlsName,
- String sheetName) throws Exception {
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("学生表一");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell;
- ResultSetMetaData md = rs.getMetaData();
- int nColumn = md.getColumnCount();
- // 写入各个字段的名称
- for (int i = 1; i <= nColumn; i++) {
- sheet.addMergedRegion(new Region(0,(short)0,1,(short)0));
- cell = row.createCell((short) (i - 1));
- cell.setCellType(HSSFCell.CELL_TYPE_STRING);
- cell.setCellValue(md.getColumnLabel(i));
- }
- int iRow = 2;
- // 写入各条记录,每条记录对应Excel中的一行
- while (rs.next()) {
- row = sheet.createRow((short) iRow);
- for (int j = 1; j <= nColumn; j++) {
- cell = row.createCell((short) (j - 1));
- cell.setCellType(HSSFCell.CELL_TYPE_STRING);
- cell.setCellValue(rs.getObject(j).toString());
- }
- iRow++;
- }
- FileOutputStream fOut = new FileOutputStream(xlsName);
- wb.write(fOut);
- fOut.flush();
- fOut.close();
- JOptionPane.showMessageDialog(null, "导出数据成功!");
- }
- public static void main(String[] args) {
- String sql="select * from dept";
- ResultSet rs=SqlHelper.executeQuery(sql, null);
- try {
- resultSetToExcel(rs, "F:\\dept.xls","sheetName");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
相关推荐
总结,Java通过Apache POI库可以方便地处理Excel文件,包括合并单元格。这个过程涉及到创建工作簿和工作表,定义合并范围,写入数据并保存文件。在开发过程中,灵活运用这些方法可以满足各种复杂的Excel操作需求。
### POI 获取合并单元格详解 #### 一、概述 Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式的文档,如 Word、Excel 和 PowerPoint。在本篇文章中,我们将详细介绍如何使用 POI 处理 Excel 文件...
java POI导出Excel文件多表头文件
在探讨“poi读取合并单元格帮助类”的知识点时,我们首先需要理解Apache POI库在Java中的作用以及如何处理Excel文件中的合并单元格。Apache POI是一个开源的API,它允许程序创建、修改和显示Microsoft Office格式的...
POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法
### 使用Apache POI获取含有合并单元格的Excel数据并存储为List 在处理Excel文档时,经常需要读取其中的数据并进行进一步的操作。当Excel文件中含有合并单元格时,简单的读取方法可能无法准确地获取到所有数据。...
利用poi进行excel相同内容合并单元格,只摘要了传入部分功能,请关注addMergedRegion方法
POI 合并单元格 及 注意事项
在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...
EasyUIPoI是一款基于Apache POI的Java工具库,专门用于简化Excel的导出操作,尤其在处理模板和合并单元格方面提供了便利。这个库主要适用于那些需要在Web应用中生成Excel报告或导出数据的场景,比如数据分析、报表...
本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...
关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!
poi导入/导出Excel表格,合并单元格的读取和设置
在本示例中,我们看到如何使用Java POI来填充Word文档,包括合并单元格、添加图片以及设置字号。以下是对代码的详细解释: 1. **初始化Document对象**: 首先,`Document`类是Apache POI库中的核心类,用于表示...
这个“excel poi工具类”是利用Apache POI库来实现对Excel文件进行导入、导出、合并单元格以及处理计算公式的功能。下面我们将深入探讨这些知识点。 **1. Apache POI库介绍** Apache POI是一个开源项目,它为Java...
本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...
本项目提供了一个解决方案,它支持合并单元格和合并行,无需依赖Microsoft Office,这对于那些无法安装Office环境或者希望在服务器端执行此操作的用户来说,具有很高的实用价值。 首先,我们要理解HTML表格...
2. **数据处理问题**:在编程中,如Python的Pandas库或Java的Apache POI库处理Excel时,合并单元格可能导致数据读取不一致。例如,如果一个列中的某些单元格被合并,那么对应的行数将无法与未合并的数据对齐,从而...
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
本文将深入探讨如何使用阿里云开发的开源库EasyExcel来处理大数据导出,并结合Apache POI库,以及SpringBoot框架,实现上万条数据的自定义策略合并单元格导出。我们将基于提供的技术栈——EasyExcel 2.1.7,Apache ...