【问题标题】:BIRT web viewer xlsx export issueBIRT Web 查看器 xlsx 导出问题
【发布时间】:2015-06-03 07:29:54
【问题描述】:

我的要求是将报告数据从 Web 查看器导出为 xlsx 格式。但是 xlsx 选项根本没有出现在导出对话框中。 我正在使用码头网络服务器和 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 中,我在适当的位置添加了以下 2 行。

viewer.extension.xlsx=xlsx, viewer.label.xlsx=XLSX

但在 web 查看器中仍然没有 xlsx 选项。 你能帮我找到出路吗?

【问题讨论】:

    标签: export-to-excel birt


    【解决方案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 build path 中引用这些新 jar 并删除旧的 birt 运行时 jar 引用。做一个小改动,重新编译 birt-chart 并运行得到想要的结果。在此之后,从应用程序的“lib”目录中重命名或删除旧的 birt-runtime 目录,旧的和新的运行时目录都驻留在该目录中。

    【讨论】:

      【解决方案2】:

      XLSX 发射器已包含在BIRT 4.3 中,因此即使更改 JSP 页面和 .properties 文件,它也无法与 4.2.2 运行时一起使用。

      一种选择是在现有的 birt 安装中包含您自己的 spudsoft 发射器,但这很复杂,您最好升级到最新版本,例如 BIRT 4.4.2。

      【讨论】:

      • 非常感谢您的建议。但我找不到任何关于 birt runtime 4.4 与码头集成的合适文章。您能否建议我如何进行 birt 4.4 运行时升级或与码头的全新集成。
      • 在这里,我找到了解决问题的方法。首先,要将 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”目录中,并从 eclipse java 构建路径中引用它们并删除旧的引用。重新编译并运行图表。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多