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 目录,新旧运行时目录都位于该目录中。