前几天,在弄excel导入导出,用到poi开源库,在导出excel时,合并单元格后,生成的excel 合并单元边框缺失。在网上搜索了一番,找到解决方案了。
代码如下:
private static void setRegionStyle(HSSFSheet sheet, CellRangeAddress region,
HSSFCellStyle cs) {
for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) {
HSSFRow row = HSSFCellUtil.getRow(i, sheet);
HSSFCell cell = null;
//循环设置单元格样式
for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
cell = HSSFCellUtil.getCell(row, (short) j);
cell.setCellStyle(cs);
}
}
}
for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
cell = HSSFCellUtil.getCell(row, (short) j);
cell.setCellStyle(cs);
}
}
}
在sheet.addMergedRegion();后调用上面的方法,会给每个表格后面加上样式。
这是表格样式创建和边框设置。
HSSFCellStyle style = workbook.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框