반응형
Apache POI를 사용하여 Excel 셀 병합
Apache POI 라이브러리를 사용하여 Excel의 셀을 Marge할 수 있는 다른 방법이 있습니까?
다음을 사용하려고 했지만 작동하지 않습니다.
// selecting the region in Worksheet for merging data
CellRangeAddress region = CellRangeAddress.valueOf("A" + rowNo + ":D"
+ rowNo);
// merging the region
sheet1.addMergedRegion(region);
사용할 수 있습니다.sheet.addMergedRegion(rowFrom,rowTo,colFrom,colTo);
예sheet.addMergedRegion(new CellRangeAddress(1,1,1,4));
는 B2에서E2로 Marge 됩니다.이것은 제로 베이스의 인덱스입니다(예: POI 버전 3.12).
자세한 내용은 Busy Developer's Guide를 참조하십시오.
다음을 사용할 수 있습니다.
sheet.addMergedRegion(new CellRangeAddress(startRowIndx, endRowIndx, startColIndx,endColIndx));
CellRangeAddress가 다른 Marge된 지역과 일치하지 않는지 확인합니다.이것에 의해 예외가 발생합니다.
- 셀을 서로 병합하려면 열 인덱스를 동일하게 유지하십시오.
- 단일 행에 있는 셀을 병합하려면 행 인덱스를 동일하게 유지하십시오.
- 인덱스는 제로 베이스입니다.
이 작업을 수행하려고 하면 다음과 같이 됩니다.
sheet.addMergedRegion(new CellRangeAddress(rowNo, rowNo, 0, 3));
가장 좋은 대답
sheet.addMergedRegion(new CellRangeAddress(start-col,end-col,start-cell,end-cell));
당신이 원한다면 셀을 병합하고 테두리를 두르는 방법을 만들겠습니다.
protected void setMerge(Sheet sheet, int numRow, int untilRow, int numCol, int untilCol, boolean border) {
CellRangeAddress cellMerge = new CellRangeAddress(numRow, untilRow, numCol, untilCol);
sheet.addMergedRegion(cellMerge);
if (border) {
setBordersToMergedCells(sheet, cellMerge);
}
}
protected void setBordersToMergedCells(Sheet sheet, CellRangeAddress rangeAddress) {
RegionUtil.setBorderTop(BorderStyle.MEDIUM, rangeAddress, sheet);
RegionUtil.setBorderLeft(BorderStyle.MEDIUM, rangeAddress, sheet);
RegionUtil.setBorderRight(BorderStyle.MEDIUM, rangeAddress, sheet);
RegionUtil.setBorderBottom(BorderStyle.MEDIUM, rangeAddress, sheet);
}
구문은 다음과 같습니다.
sheet.addMergedRegion(new CellRangeAddress(start-col,end-col,start-cell,end-cell));
예를 들어:
sheet.addMergedRegion(new CellRangeAddress(4, 4, 0, 5));
여기서 셀 0에서 셀5는 4번째 행으로 병합됩니다.
언급URL : https://stackoverflow.com/questions/18716032/merging-cells-in-excel-using-apache-poi
반응형
'programing' 카테고리의 다른 글
Apache POI를 사용하여 Excel 셀에 번호 쓰기 (0) | 2023.04.16 |
---|---|
텍스트 필드를 탐색하는 방법([다음]/[완료] (0) | 2023.04.16 |
Python에서 두 개의 사전을 하나의 식에 병합하려면 어떻게 해야 합니까? (0) | 2023.04.16 |
텍스트 상자 - 수평 텍스트 센터링 (0) | 2023.04.16 |
libc++abi.dylib: NSException 유형(lldb)을 제외하고 수집되지 않은 종료 (0) | 2023.04.16 |