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

関連する問題