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


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進去,就是真正的值了。

轉自:http://yjck.iteye.com/blog/1609232


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM