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