为什么Apache POI autoSizeColumn在unix上的Websphere9中不起作用?

时间:2018-03-16 10:38:52

标签: java apache-poi

我一直在寻找解决此问题的方法,同时根据其中的内容自动调整列的大小。在Windows上本地部署应用程序 时, 创建的Excel文件没有任何问题。在Unix机器上部署应用程序后,我得到了异常。我发现异常背后的getItemsFromCartService() { this.totalItemsInCart = this._cartService.getAllItems(); this.setItemDetails(); console.log(this.totalItemsInCart); return this.totalItemsInCart; } updateQuantity(product, newQuantity) { console.log("Updating quantity"); this._cartService.updateQuantity(product, newQuantity); } removeItem(productName) { this._cartService.removeItem(productName); } 方法。下面是我将所有数据添加到excel之后的代码,这会抛出异常。

autoSizeColumn()

例外: for (int colNum= 0; colNum <= 14; colNum++) { mySheet.autoSizeColumn(colNum); }

我在互联网上搜索后尝试了以下内容:  1.设置JVM参数java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 at sun.font.CompositeFont.getMapper(CompositeFont.java:410) ~[na:1.8.0-internal] at sun.font.CompositeFont.canDisplay(CompositeFont.java:436) ~[na:1.8.0-internal] at java.awt.Font.canDisplayUpTo(Font.java:2074) ~[na:1.8.0-internal] at java.awt.font.TextLayout.singleFont(TextLayout.java:481) ~[na:1.8.0-internal] at java.awt.font.TextLayout.<init>(TextLayout.java:542) ~[na:1.8.0-internal] at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:206) ~[poi-3.8.jar:3.8] at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:1854) ~[poi-3.8.jar:3.8] at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:1837) ~[poi-3.8.jar:3.8]  2.确保-Djava.awt.headless=true

中有Arial字体

没有帮助解决问题。

设定: 1. Websphere 9 2. poi3.8.jar

1 个答案:

答案 0 :(得分:0)

卸载后,包xorg-x11-fonts-Type1 xorg-x11-font-utils出现了问题,更新了font.properties文件并添加了添加到JAVA的字体。谢谢大家。