Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/RichTextString位于org.primefaces.component.export.ExporterFactory.getExporterForType_Jsf_Primefaces_Datatable_Export To Excel_Data Export - Fatal编程技术网

Jsf java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/RichTextString位于org.primefaces.component.export.ExporterFactory.getExporterForType

Jsf java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/RichTextString位于org.primefaces.component.export.ExporterFactory.getExporterForType,jsf,primefaces,datatable,export-to-excel,data-export,Jsf,Primefaces,Datatable,Export To Excel,Data Export,我在Primefaces的网页中使用了相同的示例代码: <h:commandLink value="Excel"> <p:dataExporter type="xls" target="dataTable" fileName="boo" pageOnly="true"/> </h:commandLink> 但是不起作用。 在Internet Explorer浏览器中,显示以下消息: 网页消息错误的详细信息

我在Primefaces的网页中使用了相同的示例代码:

<h:commandLink value="Excel">                     
  <p:dataExporter type="xls" target="dataTable" fileName="boo" pageOnly="true"/>  
</h:commandLink>

但是不起作用。 在Internet Explorer浏览器中,显示以下消息:

网页消息错误的详细信息:对的意外调用 方法或属性访问

Mozilla Firefox中从未发生过任何事情

可能会发生什么

再往下看stacktrace。我打赌根本原因是
NoClassDefFoundError
ClassNotFoundException
?在这种情况下,这只意味着您忘记安装


下载、解压缩它,将poi-3.8-20120326.jar放入
/WEB-INF/lib
文件夹中,然后重建/重新部署/重新启动webapp。

尝试放置此jar文件。我显示了链接,因为我解决了此问题


您使用的是什么版本的primefaces?IE中的错误消息是特定于JS/jQuery的错误(因此不是特定于JSF的)。您可能希望首先检查JS代码的正确性(onload处理程序、事件侦听器等)。至于Firefox中缺乏反馈,你也检查过它的JS控制台吗?还要检查你是否没有嵌套表单;以前有人问过一个JSF+PrimeFaces导向的问题,关于完全相同的IE错误消息,但后来有了更好的SSCCE:,原因是嵌套表单。@kolossus PrimeFaces版本3.4顺便说一下。。。CSV与XLS不同。我下载了完整的poi包。我的Excel 2003,它正在尝试生成xlsx,因此给出错误?从我在poi3.8版本中读到的内容来看,该版本应适用于Excel 2003、2007和2010。我添加了poi 3.8库,现在给出了以下例外:javax.servlet.ServletException:Class未实现org.apache.poi.hssf.usermodel.HSSFWorkbook请求的接口org.apache.poi.ss.usermodel.工作簿。你知道会是什么吗?显然你也因为某种原因安装了JExcelAPI,并从错误的包中导入了
工作簿。确保它是org.apache.poi.ss.usermodel.Workbook
one,如果您根本不使用它,请删除JExcelAPI。我没有找到apiapi来操作Excel。杰克谢拉皮也没有。我真的不知道怎么解决这个问题。也许您的webapp的运行时类路径中有多个可能不同版本的apachepoi库?这也可能是一个原因。清理webapp的运行时类路径,以便只得到一个正确版本的POI。
javax.servlet.ServletException: org/apache/poi/ss/usermodel/RichTextString