poi的cellstyle陷阱,樣式覆蓋


問題

  cell.getCellStyle().setFont(font);

  這句話本來只是想設置這一個單元格cell的字體樣式,但是實際上卻影響了很多個單元格的樣式。

  問題出在了,Excel模板中這些單元格本來就是同一個樣式,get得到的樣式修改,影響的當然也是全部的

解決

  但是直接創建的樣式的話,會丟失Excel模板中原來就有的樣式,所以這里使用到了CellStyle 的一個方法

  void cloneStyleFrom(CellStyle var1);

  保證了既可以新建一個CellStyle,又可以不丟失原來的CellStyle 的樣式

  問題的那段代碼可以寫成如下:

//解決單元格樣式覆蓋的問題
CellStyle cStyle = book.createCellStyle();
cStyle.cloneStyleFrom(cell.getCellStyle());
cStyle.setWrapText(true);
cStyle.setFont(font);
cell.setCellStyle(cStyle);

 

原創文章,歡迎轉載,轉載請注明出處!

 


免責聲明!

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



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