這幾天遇到一個需求,要求用java導(dǎo)出一個Excel,其中有些單元格需要是豎向的文字,如圖。
既然是java導(dǎo)excel,自然使用了Apache POI。 一開始嘗試使用換行,雖然視覺效果達到,但是該excel導(dǎo)出后會有后續(xù)的vbs去處理,換行達到的豎排效果并不能滿足已有的vbs處理過程,會導(dǎo)致失敗。
接著看StackOverFlow上多個人提出使用setRatation((short)90),發(fā)現(xiàn)整體旋轉(zhuǎn)90度的同時每個文字也被轉(zhuǎn)了90度,也不滿足要求。
然后翻了一天poi的源碼,發(fā)現(xiàn)底層是通過xsb文件定義的schema,并通過xmlbeans生成的Cellstyle,底層設(shè)置格式的時候也是各種位運算,想要通過反射強行注入一些格式估計也是不太可能。
最后在不抱希望的情況下,在stackoverflow上提了這個問題,居然得到了大神的解答。。 傳送門:http://stackoverflow.com/questions/42053926/how-to-make-verticaltext-cellstyle-with-apache-poi
方案如下: setRotation((short)255)
新聞熱點
疑難解答