解決poi導(dǎo)出時單元格樣式被覆蓋問題
poi導(dǎo)出時單元格樣式被覆蓋
在poi操作時對每個單元格進(jìn)行樣式設(shè)置,出現(xiàn)的問題是單元格樣式被覆蓋了?
如何解決這一問題????
解決方法
這里使用到了CellStyle 的一個方法 void cloneStyleFrom(CellStyle var1);
創(chuàng)建一個不影響使用的cell 然后設(shè)置樣式
在創(chuàng)建一個新的cell使用
createCellStylecopy.cloneStyleFrom(oldercell.getCellStyle()); // 克隆出一個 style
其他的樣式可以在createCellStylecopy中設(shè)置,然后設(shè)置給新的cell
poi的cellstyle陷阱,樣式覆蓋
問題
cell.getCellStyle().setFont(font);
這句話本來只是想設(shè)置這一個單元格cell的字體樣式,但是實際上卻影響了很多個單元格的樣式。
問題出在了,Excel模板中這些單元格本來就是同一個樣式,get得到的樣式修改,影響的當(dāng)然也是全部的
解決方法
但是直接創(chuàng)建的樣式的話,會丟失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);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實現(xiàn)大數(shù)運(yùn)算的實例代碼
這篇文章主要介紹了Java實現(xiàn)大數(shù)運(yùn)算的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06SpringBoot如何優(yōu)雅的處理重復(fù)請求
對于一些用戶請求,在某些情況下是可能重復(fù)發(fā)送的,如果是查詢類操作并無大礙,但其中有些是涉及寫入操作的,一旦重復(fù)了,可能會導(dǎo)致很嚴(yán)重的后果,所以本文給大家介紹了SpringBoot優(yōu)雅的處理重復(fù)請求的方法,需要的朋友可以參考下2023-12-12解決本機(jī)安裝的JDK8,啟動IDEA2019沒反應(yīng)的問題(開發(fā)工具)
這篇文章主要介紹了解決本機(jī)安裝的JDK8啟動IDEA2019沒反應(yīng)的問題(開發(fā)工具),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10詳解MyBatis多數(shù)據(jù)源配置(讀寫分離)
這篇文章主要介紹了詳解MyBatis多數(shù)據(jù)源配置(讀寫分離),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01Java中Hashtable類與HashMap類的區(qū)別詳解
Hashtable的應(yīng)用非常廣泛,HashMap是新框架中用來代替Hashtable的類,也就是說建議使用HashMap,不要使用Hashtable??赡苣阌X得Hashtable很好用,為什么不用呢?這里簡單分析他們的區(qū)別。2016-01-01關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問題
這篇文章主要介紹了java數(shù)組與字符串相互轉(zhuǎn)換的問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10Java基礎(chǔ)鞏固小項目點(diǎn)菜系統(tǒng)的實現(xiàn)
這篇文章主要介紹了一個Java小項目點(diǎn)菜系統(tǒng)的實現(xiàn),主要是用的集合,適合正在學(xué)習(xí)Java的朋友拿來實戰(zhàn)練手,感興趣的朋友快來看看吧2022-03-03