Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.awt.Font
at java.awt.font.TextLayout.singleFont(TextLayout.java:468)
at java.awt.font.TextLayout.<init>(TextLayout.java:527)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:208)
at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:386)
我的环境如下:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
nogui和java.awt.headless =未设置true标志。
答案 0 :(得分:5)
来自Apache POI QuickGuide entry on "How to adjust column width to fit the contents":
警告强>
计算列宽Sheet.autoSizeColumn使用在图形环境不可用时抛出异常的Java2D类。如果图形环境不可用,您必须告诉Java您正在无头模式下运行并设置以下系统属性:java.awt.headless = true
你说你既不在图形环境中运行,也不在无头运行。如快速指南所示,如果您想要进行图形化操作(例如调整字体大小),则必须运行图形环境或无头启用