and*_*Dev 58 java excel android apache-poi
有没有其他方法可以使用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);
Run Code Online (Sandbox Code Playgroud)
San*_*ngh 134
您可以使用 sheet.addMergedRegion(rowFrom,rowTo,colFrom,colTo);
示例sheet.addMergedRegion(new CellRangeAddress(1,1,1,4));
将从B2合并到E2.请记住,它是基于零的索引(例如POI版本3.12).
有关详细信息,请参阅BusyDeveloper指南
小智 6
最好的答案
sheet.addMergedRegion(new CellRangeAddress(start-col,end-col,start-cell,end-cell));
Run Code Online (Sandbox Code Playgroud)
我创建了一种合并单元格并根据需要添加边框的方法。
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);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用 :
sheet.addMergedRegion(new CellRangeAddress(startRowIndx, endRowIndx, startColIndx,endColIndx));
Run Code Online (Sandbox Code Playgroud)
确保CellRangeAddress与其他合并的区域不一致,因为这将引发异常。
对于您正在尝试执行的操作应该可以:
sheet.addMergedRegion(new CellRangeAddress(rowNo, rowNo, 0, 3));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
129154 次 |
最近记录: |