POI 實現合併單元格以及列自適應寬度

2021-07-09 19:59:42 字數 725 閱讀 9266

poi是apache提供的乙個讀寫excel文件的開源元件,在操作excel時常要合併單元格,合併單元格的方法是:

sheet.addmergedregion(new cellrangeaddress(1, 1, 0, 2));

自適應列寬度:

sheet.autosizecolumn(1); 

sheet.autosizecolumn(1, true);

這兩種方式都是自適應列寬度,但是注意這個方法在後邊的版本才提供,poi的版本不要太老。 注意:第乙個方法在合併單元格的的單元格並不好使,必須用第二個方法。

sheet.setcolumnwidth(m, 「列名」.getbytes().length*2*256);

這個方法是計算字串的長度,以便設定列寬,該方法在解決中文的問題上比較好,前面兩種方法對中文不好好用。。。。

還有在自適應寬度的時候,有時候遇到單元格是公式單元格,自適應不起作用,那是因為單元格存的是公式,並不是真正的資料,解決方法:

hssfformulaevaluator evaluator = new hssfformulaevaluator(sheet.getworkbook());

cellvalue cell71val = evaluator.evaluate(cell71);

cell71.setcellvalue(cell71val.getnumbervalue());

將格式化後的資料再次set進去,就是真正的值了。

POI 實現合併單元格以及列自適應寬度

poi是apache提供的乙個讀寫excel文件的開源元件,在操作excel時常要合併單元格,合併單元格的方法是 sheet.addmergedregion new cellrangeaddress 1,1,0,2 自適應列寬度 sheet.autosizecolumn 1 sheet.autosi...

poi合併單元格

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

POI合併單元格,賦值

public void exportfive 序號 int total 1 行號 int total row 1 單元格合併起始行 部門 int start row 2 單元格合併起始行 活動 int start row act 2 string s for int p 0 p s.length p...