問題
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);
原創文章,歡迎轉載,轉載請注明出處!