2016-06-13 78 views
2

我正在寻找一种将样式应用于一系列单元格而不必在其上循环的解决方案。将样式应用于单元格范围 - Apache POI

尝试其他解决方案发现这里和那里在stackoverflow,他们都没有工作。 例如,这并没有为我工作:

CellRangeAddress region = CellRangeAddress.valueOf("A1:B2"); 
short borderStyle = CellStyle.BORDER_THIN; 
RegionUtil.setBorderBottom(borderStyle, region, activeSheet, excelWorkbook); 
RegionUtil.setBorderTop(borderStyle, region, activeSheet, excelWorkbook); 
RegionUtil.setBorderLeft(borderStyle, region, activeSheet, excelWorkbook); 
RegionUtil.setBorderRight(borderStyle, region, activeSheet, excelWorkbook); 

它增加了边界上的选择的外边缘,而不是里面的细胞。 我想为范围内的每个单元格设置边框。这甚至可能没有循环?

感谢

回答

1

我不认为你可以应用样式的单元格范围内的所有细胞,而无需单独将其应用于单个单元格。

尝试循环遍历每个单元格并应用所有边框。

这里是一个样本,其可能会帮助您:

CellStyle cellStyle = workbook.createCellStyle(); 
cellStyle.setBorderLeft(CellStyle.BORDER_THIN); 
cellStyle.setBorderRight(CellStyle.BORDER_THIN); 
cellStyle.setBorderTop(CellStyle.BORDER_THIN); 
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); 
for(int i=region.getFirstRow();i<region.getLastRow();i++){ 
    Row row = sheet.getRow(i); 
    for(int j=region.getFirstColumn();j<region.getLastColumn();j++){ 
     Cell cell = row.getCell(j); 
     cell.setCellStyle(cellStyle); 
    } 
} 
+0

谢谢你,什么我终于结束了。 – nakwada

相关问题