BIRT Web 查看器 xlsx 导出问题
BIRT web viewer xlsx export issue
我的要求是将报告数据从网络查看器导出为 xlsx 格式。但是导出对话框中根本没有 xlsx 选项。
我正在使用码头网络服务器和 birt 运行时 4.2.2。
下面是 /root/pr/lib/birt-runtime-4_2_2/birt/webcontent/birt/pages/dialog/ExportReportDialogFragment.jsp 中的相关代码(我根据 whosebug.com 中的另一篇文章对其进行了修改以查看 xlsx 选项)。
<%
<%-- 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 中,我在适当的位置添加了以下 2 行。
viewer.extension.xlsx=xlsx,
viewer.label.xlsx=XLSX
但在网络查看器中,xlsx 选项仍然没有出现。
你能帮我找到出路吗?
XLSX 发射器已包含在 BIRT 4.3 中,因此即使更改 JSP 页面和 .properties 文件,它也无法与 4.2.2 运行时一起使用。
一个选项是在您现有的 birt 安装中包含您自己的 spudsoft 发射器,但这很复杂,您最好升级到最新版本,例如 BIRT 4.4.2。
在这里,我找到了解决问题的办法。
首先,要将 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 [=17] 引用这些新的 jar =] 构建路径并删除旧的 birt-runtime jar 引用。稍作更改以新编译 birt-chart 并 运行 获得所需的结果。在此之后,从应用程序的 "lib" 目录中重命名或删除旧的 birt-runtime 目录,新旧运行时目录都位于该目录中。
我的要求是将报告数据从网络查看器导出为 xlsx 格式。但是导出对话框中根本没有 xlsx 选项。 我正在使用码头网络服务器和 birt 运行时 4.2.2。
下面是 /root/pr/lib/birt-runtime-4_2_2/birt/webcontent/birt/pages/dialog/ExportReportDialogFragment.jsp 中的相关代码(我根据 whosebug.com 中的另一篇文章对其进行了修改以查看 xlsx 选项)。
<%
<%-- 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 中,我在适当的位置添加了以下 2 行。
viewer.extension.xlsx=xlsx, viewer.label.xlsx=XLSX
但在网络查看器中,xlsx 选项仍然没有出现。 你能帮我找到出路吗?
XLSX 发射器已包含在 BIRT 4.3 中,因此即使更改 JSP 页面和 .properties 文件,它也无法与 4.2.2 运行时一起使用。
一个选项是在您现有的 birt 安装中包含您自己的 spudsoft 发射器,但这很复杂,您最好升级到最新版本,例如 BIRT 4.4.2。
在这里,我找到了解决问题的办法。 首先,要将 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 [=17] 引用这些新的 jar =] 构建路径并删除旧的 birt-runtime jar 引用。稍作更改以新编译 birt-chart 并 运行 获得所需的结果。在此之后,从应用程序的 "lib" 目录中重命名或删除旧的 birt-runtime 目录,新旧运行时目录都位于该目录中。