这几天遇到一个需求,要求用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)
新闻热点
疑难解答