我的要求是将报表数据从Web查看器导出为xlsx格式。但是xlsx选项在导出对话框中根本不会出现。 我正在使用jetty web服务器和birt运行时4.2.2。
下面是/root/pr/lib/birt-runtime-4_2_2/birt/webcontent/birt/pages/dialog/ExportReportDialogFragment.jsp中的相关代码段(我修改后根据另一篇文章查看xlsx选项) StackOverflow.com)。
<%
<%-- String[] supportedFormats = ParameterAccessor.supportedFormats; --%>
String[] supportedFormats = {"pdf","xls","xlsx"};
%>
<TABLE CELLSPACING="2" CELLPADDING="2" CLASS="birtviewer_dialog_body">
<TR HEIGHT="5px"><TD></TD></TR>
<TR>
<TD>
<label for="exportFormat"><%=BirtResources.getMessage( "birt.viewer.dialog.export.format" )%></label>
<SELECT ID="exportFormat" NAME="format" CLASS="birtviewer_exportreport_dialog_select">
<%
ParameterAccessor.sortSupportedFormatsByDisplayName(supportedFormats);
for ( int i = 0; i < supportedFormats.length; i++ )
{
%>
<OPTION VALUE="<%= supportedFormats[i] %>"><%= ParameterAccessor.getOutputFormatLabel( supportedFormats[i] ) %></OPTION>
<%
}
%>
</SELECT>
</TD>
</TR>
在/root/pr/lib/birt-runtime-4_2_2/birt/WEB-INF/viewer.properties中,我在适当的位置添加了以下两行。
viewer.extension.xlsx = XLSX, viewer.label.xlsx = XLSX
但仍然在网络浏览器中,xlsx选项尚未到来。 你能帮我找到出路吗?
答案 0 :(得分:1)
在这里,我找到了解决问题的方法。 首先,要将birt 4.4.2与jetty集成并替换旧版本,我们需要用应用程序的WEB-INF / lib目录替换所有旧版本的birt jar和新版本的birt jar。最好先备份WEB-INF / lib目录,然后再从lib目录中删除所有旧版本的jar,然后再添加新的jar。 其次,我们需要将新的birt-runtime目录(例如birt-runtime-4_4_2)放入应用程序的“lib”目录(旧的birt-runtime目录也应该驻留在其中)并从eclipse java构建路径中引用这些新的jar并删除旧的birt-runtime jar引用。做一个小改动,新编译birt-chart并运行以获得所需的结果。在此之后,从应用程序的“lib”目录重命名或删除旧的birt-runtime目录,其中旧的和新的运行时目录都驻留在该目录中。
答案 1 :(得分:0)
XLSX发射器已包含在BIRT 4.3中,因此即使更改JSP页面和.properties文件,它也无法使用4.2.2运行时。
一个选项是在您现有的Birt安装中自己包含spudsoft发射器,但这很复杂,您最好升级到最新版本,如BIRT 4.4.2。