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;
}
分享到:
相关推荐
java POI导出Excel文件多表头文件
在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...
本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...
关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
在Excel中,单元格合并是通过`HSSFCellStyle`对象的`setAlignment()`方法完成的,其中`HSSFCellStyle.ALIGN_CENTER_SELECTION`表示合并后的单元格居中对齐。以下是一个简单的例子: ```java HSSFWorkbook ...
### NPOI读取模板导出Excel(合并单元格) #### 概述 在实际工作中,经常需要将数据导出到Excel文件中,并且在某些情况下还需要对单元格进行合并处理,以达到美观或者特定需求的目的。NPOI是.NET平台上一个强大的...
本文档主要介绍如何使用Apache POI读取Excel中合并的单元格。 #### 二、合并单元格的基本概念 合并单元格是指将多个相邻的单元格合并成一个大的单元格。这种操作在Excel中很常见,主要用于美化表格布局或简化数据...
### 导出Excel多个单元格合并及图片插入 #### 问题描述 在安全生产项目中,为了更好地管理和展示巡检记录,通常需要将这些记录导出为Excel文件,并且每个巡检项都应附带相应的抓图。这不仅要求能够有效地处理数据...
excel中单元格所有图片自动居中代码。谢谢各位观众老爷的路过
本示例将详细讲解如何使用C++实现设置边框、设置背景色以及合并单元格的功能,以创建一个完整的Excel文件。 首先,我们需要一个库来支持Excel文件的操作。在C++中,通常我们会选择如libxl、pandas或者开源的Apache ...
在这个场景中,我们关注的是如何使用POI来生成具有合并列的Excel报表。生成这样的报表时,通常是为了呈现层次化的数据,例如组织结构、产品分类或者地区分层等。下面将详细介绍如何利用Apache POI实现这一功能。 ...
在本文中,我们将深入探讨如何使用NPOI创建Excel文件,并进行单元格的样式设置,包括合并单元格、设置字体样式、边框以及对齐方式。 首先,创建一个新的Excel工作簿(HSSFWorkbook)是开始操作的基础。以下代码展示...
本文将详细介绍如何使用 POI 库设置 Excel 单元格的格式,包括设置背景色、边框、居中、字体、列宽、自动换行和合并单元格等。 一、设置背景色 在 POI 中,可以使用 `HSSFCellStyle` 对象设置单元格的背景色。首先...
### POI帮助文档知识点解析 #### 一、创建Excel工作簿...无论是创建工作簿、工作表,还是处理单元格的数据和格式,POI都提供了简洁易用的API。这些知识点对于从事办公自动化或数据处理的开发者来说,是非常实用的。
例如,你可以通过`row.createCell()`创建单元格,然后使用`cell.setCellStyle(style)`设置样式,如加粗字体或垂直居中对齐。 2. **合并单元格**:在Apache POI中,使用`Sheet`对象的`mergeCells(startColumn, ...
- 修改单元格对齐方式,如左对齐、居中或右对齐,使用`cell.getCTTc().addNewTcPr().addNewJc().setVal(STJc.CENTER)`。 4. **读取表格**: - 打开已存在的Word文档,使用`XWPFDocument`的`parse()`方法读取。 -...
我们可以通过调用`setHorizontalAlignment`和`setVerticalAlignment`方法来设置单元格的水平和垂直对齐方式,分别有左对齐、居中、右对齐、靠上、居中、靠下等选项。文本旋转是通过`setRotation`方法完成的,参数...