poi操作excel之列合并
每篇一句励志:学会快乐,因为只有开心度过每一天,活得才精彩。
// 此代码只支持多列合并
// 参数1:sheet、参数2:要合并的列
public static XSSFSheet cellMergedRegion(XSSFSheet sheet, Integer... cellIndex) {
boolean isRange=false;
for (int cidx = 0; cidx < cellIndex.length; cidx++) {
String ls = null;
int rowIdx = 0;
int length = sheet.getLastRowNum();
for (int i = 0; i <= length; i++) {
XSSFRow row = sheet.getRow(i);
if(row == null && isRange==true){
cellRange(sheet, rowIdx, i - 1,cellIndex[cidx]);
ls = null;
rowIdx = i;
isRange=false;
continue;
}
if(row==null)continue;
XSSFCell cell = row.getCell(cellIndex[cidx]);
if(cell == null && isRange==true){
cellRange(sheet, rowIdx, i - 1,cellIndex[cidx]);
ls = null;
rowIdx = i;
isRange=false;
continue;
}
if(cell==null)continue;
String stringCellValue = getCellValue(cell);
if (ls != null && isRange==true && ls.equals(stringCellValue) == false) {
cellRange(sheet, rowIdx, i - 1,cellIndex[cidx]);
isRange=false;
}
if (stringCellValue.equals(ls) == false) {
ls = stringCellValue;
rowIdx = i;
isRange=false;
}else{
isRange=true;
}
}
if (rowIdx < length) {
cellRange(sheet, rowIdx, length ,cellIndex[cidx]);
isRange=false;
}
}
return sheet;
}