반응형
Apache POI를 사용하여 Excel에서 셀 병합
Apache POI 라이브러리를 사용하여 Excel에서 셀을 병합하는 다른 방법이 있습니까?
다음을 사용하려고했지만 작동하지 않습니다.
// 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로 병합됩니다. 0 기반 인덱싱 (예 : POI 버전 3.12)임을 기억하십시오.
자세한 내용은 BusyDeveloper 가이드를 참조 하세요.
최고의 답변
sheet.addMergedRegion(new CellRangeAddress(start-col,end-col,start-cell,end-cell));
당신이 사용할 수있는 :
sheet.addMergedRegion(new CellRangeAddress(startRowIndx, endRowIndx, startColIndx,endColIndx));
CellRangeAddress가 다른 병합 영역과 일치하지 않는지 확인하면 예외가 발생합니다.
- 셀을 서로 병합하려면 열 인덱스를 동일하게 유지하십시오.
- 단일 행에있는 셀을 병합하려면 행 인덱스를 동일하게 유지하십시오.
- 인덱스는 0부터 시작합니다.
이 작업을 수행하려는 작업은 다음과 같습니다.
sheet.addMergedRegion(new CellRangeAddress(rowNo, rowNo, 0, 3));
셀을 병합하고 테두리를 두는 방법을 만들었습니다.
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);
}
참조 URL : https://stackoverflow.com/questions/18716032/merging-cells-in-excel-using-apache-poi
반응형
'code' 카테고리의 다른 글
AssertionError : 뷰 함수 매핑이 기존 끝점 함수를 덮어 씁니다 : main (0) | 2020.12.27 |
---|---|
오류 1148 : 사용 된 명령은이 MySQL 버전에서 허용되지 않습니다. (0) | 2020.12.27 |
React는 자동 완성을 렌더링하지 않습니다. (0) | 2020.12.27 |
가장 최근 레코드를 검색하는 SQL 쿼리 만들기 (0) | 2020.12.27 |
QNetworkAccessManager를 사용하여 URL에 데이터를 게시하는 방법 (0) | 2020.12.27 |