關於POI合併單元格後加邊框問題,請大家拍磚

2021-08-25 09:13:18 字數 2333 閱讀 3915

最近由於專案需要用到了poi來生成excel**,遇到單元格合併以後怎麼加邊框,老是解決不了,特意上來請教一下

在網上找了一堆,都不行。

自己寫了乙個笨方法,可以實現列合併加邊框,但是行合併就不行了,方法如下:

/**

* 合併單元格加邊框 水平

* @param sheet

* @param region

* @param cs

*/public static void setcellborder(int start, int end, hssfrow row, hssfcellstyle style)

}

引數說明:start和並的第二列,end為合併的最後一列,row就為當前行,style樣式(裡面有設定邊框)

例如從0-10列合併: excelutil.setcellborder(2,10,row,style);   這樣可以設定

關於合併行設定也寫了乙個,但是不行,方法如下:

/**

* 合併單元格加邊框 垂直

* @param sheet

* @param region

* @param cs

*/public static void setcellborder(int start, int end, int col, hssfsheet sheet, hssfcellstyle style)

}

引數說明:start和並的第二行,end為合併的最後一行,col為哪一列,sheet就是當前**物件,style樣式(裡面有設定邊框)

下面是呼叫**:

//第二行 製表時間

hssfrow rowcreatetime = excelutil.createrow(sheet, 1, (short)400);

string time = new ******dateformat("yyyy年mm月dd日").format(new date());

excelutil.createcell(sheet, rowcreatetime, 0, styletime,

//合併後單元格設定邊框

excelutil.setcellborder(1, 27, rowcreatetime, styletime);

//第三行 目錄

hssfrow rowmenu = excelutil.createrow(sheet, 2, (short)450);

hssfrow rowmenu1 = excelutil.createrow(sheet, 3, (short)450);

//單位

excelutil.createcell(sheet, rowmenu, 0, style,

new region(2,(short)0,3,(short)0),"單位",4000);

excelutil.setcellborder(3, 3, 0, sheet, style);

//裝置型號

excelutil.createcell(sheet, rowmenu, 1, style,

new region(2,(short)1,3,(short)1),"裝置型號",2500);

excelutil.setcellborder(3, 3, 1, sheet, style);

//全年1-12月維修情況

excelutil.createcell(sheet, rowmenu, 2, style,

new region(2,(short)2,2,(short)13),"全年1-12月維修情況",null);

//合計

excelutil.createcell(sheet, rowmenu, 14, style,

new region(2,(short)14,3,(short)14),"合計",1200);

excelutil.setcellborder(3, 3, 14, sheet, style);

//全年1-12月維護情況

excelutil.createcell(sheet, rowmenu, 15, style,

new region(2,(short)15,2,(short)26),"全年1-12月維修情況",null);

//合計

excelutil.createcell(sheet, rowmenu, 27, style,

new region(2,(short)27,3,(short)27),"合計",1200);

excelutil.setcellborder(3, 3, 27, sheet, style);

請高手指教一下,有什麼好的方法麼?

poi合併單元格加邊框(2)

利用org.apache.poi.ss.util.regionutil 來處理合併單元格加邊框問題 private static void setregionborder int border,cellrangeaddress region,sheet sheet,workbook wb 注意 如果...

poi合併單元格

注 我這裡合併的是列的相同單元格,效果如下 poi合併單元格的方法是addmergedregion 合併單元格 param sheet 要合併單元格的excel 的sheet param cellline 要合併的列 param startrow 要合併列的開始行 param endrow 要合併列...

jxl加邊框,jxl合併單元格,單元格的設定

jxl加邊框 writableworkbook wwb workbook.createworkbook os writablesheet ws wwb.createsheet testsheet1 0 writablefont wf newwritablefont writablefont.time...