2016-06-13 154 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

相關問題