`
zhenping
  • 浏览: 84265 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

POI 单元格垂直居中,相同内容的单元格合并

 
阅读更多
XSSFCellStyle cellStyle = wb.createCellStyle(); 
cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER); // 居中
cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//垂直


			int currnetRow = 5;//开始查找的行
			for (int p = 5; p < totalRow; p++) {//totalRow 总行数
				XSSFCell currentCell = sheet.getRow(p).getCell(0);
				String current = getStringCellValue(currentCell);
				log.info(" current = "+current);
				XSSFCell nextCell = null;
				String next = "";
				if(p < totalRow+1){
					XSSFRow nowRow = sheet.getRow(p+1);
					if(nowRow != null){
						nextCell = nowRow.getCell(0);
						next = getStringCellValue(nextCell);
					}else{
						next = "";
					}
					
				}else{
					next = "";
				}
				log.info(" next = "+next);
				if(current.equals(next)){//比对是否相同
					currentCell.setCellValue("");
					continue;
				}
				else{
					sheet.addMergedRegion(new CellRangeAddress(currnetRow, p, 0, 0));//合并单元格
					XSSFCell nowCell = sheet.getRow(currnetRow).getCell(0);
					nowCell.setCellValue(current);
					nowCell.setCellStyle(cellStyle);
					currnetRow = p + 1;
				}
			}
private String getStringCellValue(XSSFCell cell) {
		String strCell = "";
		if (cell != null) {
			switch (cell.getCellType()) {
			case XSSFCell.CELL_TYPE_STRING:
				strCell = cell.getStringCellValue();
				break;
			case XSSFCell.CELL_TYPE_NUMERIC:
				strCell = String.valueOf(cell.getNumericCellValue());
				break;
			case XSSFCell.CELL_TYPE_BOOLEAN:
				strCell = String.valueOf(cell.getBooleanCellValue());
				break;
			case XSSFCell.CELL_TYPE_BLANK:
				strCell = "";
				break;
			default:
				strCell = "";
				break;
			}
			if (strCell.equals("") || strCell == null) {
				return "";
			}
			if (cell == null) {
				return "";
			}
		}
		return strCell;
    }



分享到:
评论

相关推荐

    POI合并单元格

    java POI导出Excel文件多表头文件

    poi生成Excel及合并单元格示例

    在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...

    使用XSSFWorkbook自由合并单元格并设置单元格样式

    本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...

    关于java EXCEL poi 合并后无法显示或无法设置边框问题

    关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!

    Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)

    Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)

    java 单元格合并

    在Excel中,单元格合并是通过`HSSFCellStyle`对象的`setAlignment()`方法完成的,其中`HSSFCellStyle.ALIGN_CENTER_SELECTION`表示合并后的单元格居中对齐。以下是一个简单的例子: ```java HSSFWorkbook ...

    NPOI读取模板导出Excel(合并单元格)

    ### NPOI读取模板导出Excel(合并单元格) #### 概述 在实际工作中,经常需要将数据导出到Excel文件中,并且在某些情况下还需要对单元格进行合并处理,以达到美观或者特定需求的目的。NPOI是.NET平台上一个强大的...

    pio读取合并的单元格

    本文档主要介绍如何使用Apache POI读取Excel中合并的单元格。 #### 二、合并单元格的基本概念 合并单元格是指将多个相邻的单元格合并成一个大的单元格。这种操作在Excel中很常见,主要用于美化表格布局或简化数据...

    导出Excel多个单元格合并及图片插入

    ### 导出Excel多个单元格合并及图片插入 #### 问题描述 在安全生产项目中,为了更好地管理和展示巡检记录,通常需要将这些记录导出为Excel文件,并且每个巡检项都应附带相应的抓图。这不仅要求能够有效地处理数据...

    单元格图片自动居中代码

    excel中单元格所有图片自动居中代码。谢谢各位观众老爷的路过

    导出Excel示例(C++)【设置边框、设置背景色、合并单元格的示例】

    本示例将详细讲解如何使用C++实现设置边框、设置背景色以及合并单元格的功能,以创建一个完整的Excel文件。 首先,我们需要一个库来支持Excel文件的操作。在C++中,通常我们会选择如libxl、pandas或者开源的Apache ...

    poi生成excel报表合并列

    在这个场景中,我们关注的是如何使用POI来生成具有合并列的Excel报表。生成这样的报表时,通常是为了呈现层次化的数据,例如组织结构、产品分类或者地区分层等。下面将详细介绍如何利用Apache POI实现这一功能。 ...

    用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    在本文中,我们将深入探讨如何使用NPOI创建Excel文件,并进行单元格的样式设置,包括合并单元格、设置字体样式、边框以及对齐方式。 首先,创建一个新的Excel工作簿(HSSFWorkbook)是开始操作的基础。以下代码展示...

    POI中设置Excel单元格格式.docx

    本文将详细介绍如何使用 POI 库设置 Excel 单元格的格式,包括设置背景色、边框、居中、字体、列宽、自动换行和合并单元格等。 一、设置背景色 在 POI 中,可以使用 `HSSFCellStyle` 对象设置单元格的背景色。首先...

    POI帮助文档.doc

    ### POI帮助文档知识点解析 #### 一、创建Excel工作簿...无论是创建工作簿、工作表,还是处理单元格的数据和格式,POI都提供了简洁易用的API。这些知识点对于从事办公自动化或数据处理的开发者来说,是非常实用的。

    poi多表头 excel导出

    例如,你可以通过`row.createCell()`创建单元格,然后使用`cell.setCellStyle(style)`设置样式,如加粗字体或垂直居中对齐。 2. **合并单元格**:在Apache POI中,使用`Sheet`对象的`mergeCells(startColumn, ...

    poi操作word表格

    - 修改单元格对齐方式,如左对齐、居中或右对齐,使用`cell.getCTTc().addNewTcPr().addNewJc().setVal(STJc.CENTER)`。 4. **读取表格**: - 打开已存在的Word文档,使用`XWPFDocument`的`parse()`方法读取。 -...

    Java 设置Excel单元格对齐方式、文本旋转、换行、缩进.pdf

    我们可以通过调用`setHorizontalAlignment`和`setVerticalAlignment`方法来设置单元格的水平和垂直对齐方式,分别有左对齐、居中、右对齐、靠上、居中、靠下等选项。文本旋转是通过`setRotation`方法完成的,参数...

Global site tag (gtag.js) - Google Analytics