读书人

poi归并单元格加边框(1)

发布时间: 2012-10-28 09:54:44 作者: rapoo

poi合并单元格加边框(1)

可以合并的,不过要逐个给每一个被合并的单元格加上边框,这样就ok

?

有木有其他办法? 有木有 ?

?

?

private static void setRegionBorder(int border, CellRangeAddress region, Sheet sheet,Workbook wb){CellStyle cs=wb.createCellStyle();cs.setBorderBottom((short) border);cs.setBorderTop((short) border);cs.setBorderLeft((short) border);cs.setBorderRight((short) border);setRegionStyle( cs, region, sheet);} private static void setRegionStyle(CellStyle cs, CellRangeAddress region, Sheet sheet){ for(int i=region.getFirstRow();i<=region.getLastRow();i++){ Row row=sheet.getRow(i); if(row==null) row=sheet.createRow(i); for(int j=region.getFirstColumn();j<=region.getLastColumn();j++){ Cell cell=row.getCell(j); if( cell==null){ cell=row.createCell(j); cell.setCellValue(""); } cell.setCellStyle(cs); } }}

?

注意1:如果合并在前,则在后面不能直接用

?????? Row row=sheet.createRow(0);

???????? 而应该改为

????? ?Row row=sheet.getRow(0);

???????if(row==null){
? ????????? row2=sheet.createRow(2);
????? ?}

?

??????????否则直接createRow会覆盖先前合并时定义的边框样式。

?

注意2:可以用poi自带的工具类来处理合并后的边框

?????????

?

private static void setRegionBorder(int border, CellRangeAddress region, Sheet sheet,Workbook wb){RegionUtil.setBorderBottom(border,region, sheet, wb);RegionUtil.setBorderLeft(border,region, sheet, wb);RegionUtil.setBorderRight(border,region, sheet, wb);RegionUtil.setBorderTop(border,region, sheet, wb);}

?

?

?

读书人网 >编程

热点推荐