/**
* 병합 셀을 생성한다.
* 세로 맞춤 : 가운데
* 테두리 : 모두
* @param row
* @param nStart 시작 셀 인덱스
* @param nEnd 종료 셀 인덱스
* @param font 글꼴
* @param bgColor 배경색
* @param hAlign 가로 맞춤
* @param border 테두리
* @return
*/
private
XSSFCell createMergedCell(XSSFRow row,
int
nStart,
int
nEnd, Font font, XSSFColor bgColor,
short
hAlign,
short
border)
{
short
vAlign = CellStyle.VERTICAL_CENTER;
XSSFCell returnCell =
null
;
XSSFSheet sheet = row.getSheet();
XSSFWorkbook wb = sheet.getWorkbook();
XSSFCellStyle cs = wb.createCellStyle();
//정렬
cs.setAlignment(hAlign);
cs.setVerticalAlignment(vAlign);
//테두리 설정
cs.setBorderTop(border);
cs.setBorderRight(border);
cs.setBorderBottom(border);
cs.setBorderLeft(border);
//글꼴 설정
cs.setFont(font);
//배경색 설정
if
(bgColor !=
null
)
{
cs.setFillForegroundColor(bgColor);
cs.setFillPattern(CellStyle.SOLID_FOREGROUND);
}
//셀 생성
for
(
int
i = nStart; i <= nEnd; i++)
{
XSSFCell cell = row.createCell(i);
if
(i == nStart)
{
returnCell = cell;
}
cell.setCellStyle(cs);
}
//병합 영역 설정
sheet.addMergedRegion(
new
CellRangeAddress(row.getRowNum(), row.getRowNum(), nStart, nEnd));
return
returnCell;
}
출처: http://neopang.tistory.com/entry/POI-이용-Excel-병합-셀-생성 [팡이네]