今天给各位分享javapoi读合并单元格的内容的知识,其中也会对poi读取合并单元格进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、java poi怎么读取Excel中合并单元格的值?2、有关java通过poi处理excle中合并单元格的问题3、java 问题:poi怎样读取excel中的合并单元格???急急急
java poi怎么读取Excel中合并单元格的值?
获取合并单元格的值 @param sheet @param row @param column @return。
public String getMergedRegionValue(Sheet sheet, int row, int column) {
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i sheetMergeCount; i++) {
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();
if (row = firstRow row = lastRow) {
if (column = firstColumn column = lastColumn) {
Row fRow = sheet.getRow(firstRow);
Cell fCell = fRow.getCell(firstColumn);
return getCellValue(fCell);
}
}
}
return null;
}
有关java通过poi处理excle中合并单元格的问题
难点是:第一个单元格为合并单元格,不知道怎么与第二,第三级菜单对应
方案一:将合并的单元格还原
步骤:
1.获取合并区域,将合并区域还原,并且还原后的值为之前合并区域值内容。
2.重新按照行读取即可以。
创建数组做映射,无需生成文件
private void decodeMergeCell(HSSFSheet templateSheet) {
int numMerge = templateSheet.getNumMergedRegions();
CellRangeAddress region = null;
while(numMerge 0){
region = templateSheet.getMergedRegion(0);
if (region.getFirstColumn() == 0 || region.getFirstColumn() == 1) {
HSSFRow row = templateSheet.getRow(region.getFirstRow());
HSSFCell cell = row.getCell(region.getFirstColumn());
String value = cell.getStringCellValue();
templateSheet.removeMergedRegion(0);
for (int j = region.getFirstRow(); j =region.getLastRow(); j++) {
cell = templateSheet.getRow(j).getCell(
region.getFirstColumn());
cell.setCellValue(value);
}
}
numMerge = templateSheet.getNumMergedRegions();
}
java 问题:poi怎样读取excel中的合并单元格???急急急
合并以后不能读,合并单元格的时候,合并后的值就是合并前左上角单元格的值
关于javapoi读合并单元格的内容和poi读取合并单元格的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。