当前位置: 首页 > 知识库问答 >
问题:

升级到Apache POI 3.9后导出Excel工作表时出错

令狐宏伟
2023-03-14

我们正在应用程序中进行更改,将文件扩展名从xls转换为xlsx格式(2007及以上),同时从应用程序中导出文件。

通过升级到POI3.9JAR,我添加了HSSF的XSSF intead,从而进行了必要的代码更改。我们使用的Jar文件的前一个版本是POI3.0。

以下是我在库文件夹中添加的JAR:

poi-3.9-20121203
poi-examples-3.9-20121203
poi-excelant-3.9-20121203
poi-ooxml-3.9-20121203
poi-ooxml-schemas-3.9-20121203
poi-scratchpad-3.9-20121203
commons-codec-1.5
commons-logging-1.1
junit-3.8.1
dom4j-1.6.1
stax-api-1.0.1
xmlbeans-2.3.0
com.sun.faces.lifecycle.InvokeApplicationPhase execute #{customerFinancialReportAction.createReport}: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org.apache.poi.ss.usermodel.Font
                                 javax.faces.FacesException: #{customerFinancialReportAction.createReport}: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org.apache.poi.ss.usermodel.Font
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79)
    at javax.faces.component.UICommand.broadcast(UICommand.java:312)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:298)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:412)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)

共有1个答案

许波涛
2023-03-14
    Font font = workBook.createFont();
    font.setFontName(XSSFFont.DEFAULT_FONT_NAME);//Is this way you are creating font
    font.setFontHeightInPoints((short)10);
    return font;
 类似资料:
  • 问题内容: 我已经找到了将HTML表导出到Excel的方法,但是在将JavaScript表导出从网站导出到excel时遇到了问题。请帮助我找到一种方法,将此表导出到Excel。 页面,从那里我需要信息: www.jalgpall.ee/players.php?year=2012&team=84&player=28469&b=ML 此页面javascript表函数的示例: 问题答案: 我自己找到了答

  • 通过itertuples,我需要将位于excel列(“G7”、“G8”)两行中的两个数据导出到google工作表的两列中。我该怎么做? 最后一行不会更新google表单的第3列

  • 问题内容: 我最近将Hibernate从5.0更新为5.1,并且API发生了变化。迁移文档提到了此更改,但未说明如何使用较新的API。而且,我还找不到其他支持示例来解决重大变化。 问题答案: 我偶然发现了可以帮助解决API差异的代码差异:https : //gitlab.nuiton.org/nuiton/topia/commit/0c57f073ad879a981e9fa3315f0e04669

  • 我正在运行《docker compose》中的jenkins,来自图片jenkins/jenkins。升级到Jenkins 2.277.1后,LDAP身份验证停止工作,我无法登录。我收到以下错误: 詹金斯。docker。new\u 1 | 2021 06-04 14:49:31.3110000[id=138]警告o.j.p.p.DiskUsageCollector#collect:无法获取磁盘使用

  • 问题内容: 我正在使用NetBeans 6.9.1使用Spring / Hibernet。我正在尝试读取Excel文件(.xlsx- Office 2007)。读取Excel文件的代码如下,使用来存储Excel工作表中的数据。 以下是我的方法,该方法调用上述方法以读取指定的Excel文件 在执行此代码时,将引发以下异常。 提供的数据似乎在Office 2007+ XML中。您正在调用POI中与OL

  • 在我有时工作正常,但是当我升级它时,它停止了工作。 我安装的版本是,带有和。 Traceback(最近一次调用最后一次):文件"C:\用户\动画\AppData\本地\程序\Python\Python36\lib\site-包\tenorflow\python\pywrap_tensorflow.py",第58行,来自tensorflow.python.pywrap_tensorflow_inte