2 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個贊
導(dǎo)出的excel合并單元格有兩種方法:
第一種:
sheet.addMergedRegion(new CellRangeAddress(開始行, 結(jié)束行, 開始列, 結(jié)束列));
這樣就可以合并單元格
第二種:
sheet.addMergedRegion(new Region(r-1,(short)0,r,(short)0));
參數(shù):
第一個:開始行
第二個:開始列
第三個:結(jié)束行
第四個:結(jié)束列
但是,這些合并后的單元格沒有邊框,如果使用平時的方法加:
style2.setBorderTop(HSSFCellStyle.BORDER_THIN);
style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style2.setBorderRight(HSSFCellStyle.BORDER_THIN);
這樣加出來的只有一個單元格有邊框,后面的沒有
所以要使用下面的方法:
寫一個方法
@SuppressWarnings("deprecation")
public static void setRegionStyle(HSSFSheet sheet, Region region, HSSFCellStyle cs) {
for (int i = region.getRowFrom(); i <= region.getRowTo(); i++) {
HSSFRow row = HSSFCellUtil.getRow(i, sheet);
for (int j = region.getColumnFrom(); j <= region.getColumnTo(); j++) {
HSSFCell cell = HSSFCellUtil.getCell(row, (short) j);
cell.setCellStyle(cs);
}
}
}
然后在單元格的最下面調(diào)用此方法
setRegionStyle(sheet,region1,style);
sheet是當(dāng)前的sheet,region1是合并的,style是樣式注意樣式里面必須設(shè)置上下左右邊框
第一種合并是不能實(shí)現(xiàn)的。
添加回答
舉報