JAvaはexcelセルが連結セルであるか否かを判断する
7253 ワード
/**
*
* @param sheet
* @param row
* @param column
* @return
*/
public static MergedResult isMergedRegion(Sheet sheet, int row, int column) {
MergedResult mergedResult = new MergedResult();
boolean isMerged = false;//
mergedResult.setRowIndex(row);//
mergedResult.setColumnIndex(column);//
// sheet
int sheetMergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetMergeCount; i++) {
//
CellRangeAddress range = sheet.getMergedRegion(i);
int firstColumn = range.getFirstColumn();
int lastColumn = range.getLastColumn();
int firstRow = range.getFirstRow();
int lastRow = range.getLastRow();
if (row >= firstRow && row <= lastRow //
&& column >= firstColumn && column <= lastColumn) {
//
isMerged = true;
mergedResult.setFirstRow(firstRow);
mergedResult.setLastRow(lastRow);
mergedResult.setFirstColumn(firstColumn);
mergedResult.setLastColumn(lastColumn);
mergedResult.setRowMergeNum(lastRow - firstRow + 1);
mergedResult.setColumnMergeNum(lastColumn - firstColumn + 1);
break;
}
}
mergedResult.setIsMerged(isMerged);
return mergedResult;
}