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