java 操作execl添加边框
使用poi导出execl时想要有网格的样式时,可以使用下面的方法进行对execl添加边框,下面的方法会保留原execl模板设置的样式
/**
* 抽取的实现粗边框的方法
* @param workBook
* @param sheet
* @param row
* @param column
*/
public static void setArroundBorder(HSSFWorkbook workBook, HSSFSheet sheet,
int row, int column) {
HSSFCell currentCell = sheet.getRow(row).getCell(column);
if(currentCell==null){
currentCell=sheet.getRow(row).createCell(column);
}
HSSFCellStyle currentStyle = workBook.createCellStyle();
//克隆原execl样式
currentStyle .cloneStyleFrom(currentCell.getCellStyle());
short color = IndexedColors.BLACK.index;
short style=HSSFCellStyle.BORDER_MEDIUM;
currentStyle.setAlignment(CellStyle.ALIGN_CENTER);
currentStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
currentStyle.setWrapText(true);
currentStyle.setBorderBottom(style);
currentStyle.setBottomBorderColor(color);
currentStyle.setBorderTop(style);
currentStyle.setTopBorderColor(color);
currentStyle.setBorderLeft(style);
currentStyle.setLeftBorderColor(color);
currentStyle.setBorderRight(style);
currentStyle.setRightBorderColor(color);
currentCell.setCellStyle(currentStyle);
}
因为设置的边框是对每个单元格进行的操作,所以需要进行双重循环
最外层是遍历行,里面的循环遍历列
for(int f=0;f<=(listData.size());f++){
for(int g=0;g<=14;g++){
ExeclUtils.setArroundBorder((HSSFWorkbook)wb, (HSSFSheet) sheet, f, g);
}
}
如果有此业务的小伙伴赶紧去试一试吧!