我尝试使用primefaces 3.2的数据导出器控件。以下是代码:
<p:commandLink value="export" ajax="false">
<p:dataExporter type="xls" target="dtable" fileName="myfile" />
</p:commandLink>
<p:datatable id="dtable" ........../>
当我点击导出链接时,出现以下错误:
java.lang.NoClassDefFoundError: com/lowagie/text/phrase
我下载了itext jar 5.2.1并将其包含在我的应用程序中,但我仍然得到同样的错误。 我该如何解决?
答案 0 :(得分:17)
尝试iText 2.1.7而不是5.2.1。 http://olex.openlogic.com/packages/itext/2.1.7
我认为存在许可证冲突。所以primefaces使用2.1.7
对于Excel Export,您需要Apache POI。 尝试3.7:http://archive.apache.org/dist/poi/release/bin/
修改强>
(您只需要poi-3.7*.jar
和poi-ooxml-3.7*.jar
)
答案 1 :(得分:0)
转到netbeans,在项目依赖项上添加新的依赖项。键入查询类型iText 2.1.7然后选择com.lowagie:itext。你应该可以用dpf下载 :d
答案 2 :(得分:-1)
只需添加以下依赖项
即可return jsonify([record[("product_title","product_details")] for record in result])
答案 3 :(得分:-2)
我遇到了同样的问题,但是当我下载这些罐子时,它并没有起作用。
然后我注意到我正在使用<p:commandLink>
,正确的是使用<h:commandLink>
由于某种原因<p:commandLink>
无法工作。
不要使用:
<p:commandLink >
<p:graphicImage value="images/excel.png" width="48"/>
<p:dataExporter type="xls" target="table" fileName="tablexls" encoding="UTF-8" />
</p:commandLink>
改为使用:
<h:commandLink >
<p:graphicImage value="images/custom/excel.png" width="48"/>
<p:dataExporter type="xls" target="table" fileName="tablexls" encoding="UTF-8" />
</h:commandLink>