【问题标题】:Apache POI 3.10 autoSizeColumn failsApache POI 3.10 autoSizeColumn 失败
【发布时间】:2014-04-02 13:32:13
【问题描述】:
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 标志未设置。

【问题讨论】:

  • 您使用哪种操作系统?您是否尝试重新安装JDK?还要找到 rt.jar 并检查它是否包含 java.awt.Font 类。
  • 您要么需要无头运行它,要么在 GUI 下运行它。任何一个都可以。也不会...

标签: java awt apache-poi


【解决方案1】:

来自Apache POI QuickGuide entry on "How to adjust column width to fit the contents"

警告

计算列宽 Sheet.autoSizeColumn 使用 Java2D 类,如果图形环境不可用,则会引发异常。如果图形环境不可用,您必须告诉 Java 您正在以无头模式运行并设置以下系统属性:java.awt.headless=true

您说过您既不是在图形环境中运行,也不是在无头环境中运行。正如快速指南明确指出的那样,如果您想要执行图形操作(例如调整字体大小),您必须在图形环境中运行启用无头

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多