EasyExcel快速上手

EasyExcel快速上手

背景說明

EasyExcel是一個基于Java的簡單誉券、省內(nèi)存的讀寫Excel的開源項目。在盡可能節(jié)約內(nèi)存的情況下支持讀寫百M的Excel兑牡。

解決方案

開源項目

https://github.com/alibaba/easyexcel

官方文檔

https://www.yuque.com/easyexcel
https://alibaba-easyexcel.github.io/

依賴引入

https://mvnrepository.com/artifact/com.alibaba/easyexcel

常見問題

服務(wù)器環(huán)境或Docker容器運行失敗

問題說明

本地調(diào)試功能正常厕吉,部署至服務(wù)器或Docker容器時失敗,異常信息如下

java.lang.NullPointerException: null
    at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) ~[?:1.8.0_151]
    at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) ~[?:1.8.0_151]
    at sun.awt.FontConfiguration.init(FontConfiguration.java:107) ~[?:1.8.0_151]
    at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) ~[?:1.8.0_151]
    at sun.font.SunFontManager$2.run(SunFontManager.java:431) ~[?:1.8.0_151]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_151]
    at sun.font.SunFontManager.(SunFontManager.java:376) ~[?:1.8.0_151]
    at sun.awt.FcFontManager.(FcFontManager.java:35) ~[?:1.8.0_151]
    at sun.awt.X11FontManager.(X11FontManager.java:57) ~[?:1.8.0_151]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_151]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_151]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_151]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_151]
    at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_151]
    at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83) ~[?:1.8.0_151]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_151]
    at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) ~[?:1.8.0_151]
    at java.awt.Font.getFont2D(Font.java:491) ~[?:1.8.0_151]
    at java.awt.Font.canDisplayUpTo(Font.java:2060) ~[?:1.8.0_151]
    at java.awt.font.TextLayout.singleFont(TextLayout.java:470) ~[?:1.8.0_151]
    at java.awt.font.TextLayout.(TextLayout.java:531) ~[?:1.8.0_151]
    at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:274) ~[poi-3.16.jar!/:3.16]
    at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.(AutoSizeColumnTracker.java:117) ~[poi-ooxml-3.16.jar!/:3.16]
    at org.apache.poi.xssf.streaming.SXSSFSheet.(SXSSFSheet.java:79) ~[poi-ooxml-3.16.jar!/:3.16]
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:652) ~[poi-ooxml-3.16.jar!/:3.16]
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:673) ~[poi-ooxml-3.16.jar!/:3.16]
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:89) ~[poi-ooxml-3.16.jar!/:3.16]
    at com.alibaba.excel.util.WorkBookUtil.createSheet(WorkBookUtil.java:51) ~[easyexcel-1.1.2-beta4.jar!/:?]
    at com.alibaba.excel.context.WriteContext.currentSheet(WriteContext.java:112) ~[easyexcel-1.1.2-beta4.jar!/:?]
    at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:69) ~[easyexcel-1.1.2-beta4.jar!/:?]
    at com.alibaba.excel.ExcelWriter.write1(ExcelWriter.java:106) ~[easyexcel-1.1.2-beta4.jar!/:?]
參考文檔

https://github.com/alibaba/easyexcel/issues/157
https://docs.qq.com/doc/DSE1HV2pTbmpTckFQ

解決方案

服務(wù)器環(huán)境執(zhí)行如下命令

$ yum install dejavu-sans-fonts fontconfig -y

容器環(huán)境在dockerfile文件中添加

RUN yum install dejavu-sans-fonts fontconfig -y

項目啟動參數(shù)追加

-Djava.awt.headless=true
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末携龟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辞色,更是在濱河造成了極大的恐慌骨宠,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件相满,死亡現(xiàn)場離奇詭異,居然都是意外死亡桦卒,警方通過查閱死者的電腦和手機方灾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門鸟妙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來房午,“玉大人,你說我怎么就攤上這事。” “怎么了凑保?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芝此。 經(jīng)常有香客問我憋肖,道長,這世上最難降的妖魔是什么婚苹? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任岸更,我火速辦了婚禮,結(jié)果婚禮上膊升,老公的妹妹穿的比我還像新娘怎炊。我一直安慰自己,他們只是感情好用僧,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布结胀。 她就那樣靜靜地躺著,像睡著了一般责循。 火紅的嫁衣襯著肌膚如雪糟港。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天院仿,我揣著相機與錄音秸抚,去河邊找鬼。 笑死歹垫,一個胖子當著我的面吹牛剥汤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播排惨,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼吭敢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了暮芭?” 一聲冷哼從身側(cè)響起鹿驼,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤欲低,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后畜晰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砾莱,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡趁仙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年剪侮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锦庸。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡块蚌,死狀恐怖闰非,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情峭范,我是刑警寧澤河胎,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站虎敦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏政敢。R本人自食惡果不足惜其徙,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喷户。 院中可真熱鬧唾那,春花似錦、人聲如沸褪尝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽河哑。三九已至避诽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間璃谨,已是汗流浹背沙庐。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留佳吞,地道東北人拱雏。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像底扳,于是被迫代替她去往敵國和親铸抑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容