【问题标题】:Oracle Apex - Download CSV produces an empty reportOracle Apex - 下载 CSV 生成空报告
【发布时间】:2019-04-02 20:18:45
【问题描述】:

我目前在运行 Windows 10 的计算机上的 Internet Explorer 上使用 Oracle Apex 版本 18.2.0.00.12。

我在将交互式网格下载为 CSV 文件时遇到问题。

在我的 Apex 页面上,我有一个交互式网格和三个页面项目。其中两个页面项目 P200_DATE_FROM 和 P200_DATE_TO 是日期选择器项目。另一个项目是一个名为“提交”的按钮,其操作是“提交页面”。

这是我的交互式网格的查询:

select * from kat_test
where repairdate between :P200_DATE_FROM and :P200_DATE_TO;

交互式网格中有四列:

问题 - Varchar2

月份 - 数字

周 - 数字

修复日期 - 日期

我在交互式网格中更改的唯一设置是标题和 SQL 查询。

我将 P200_DATE_FROM 的来源更改为返回当前月份第一天的 PL/SQL 表达式。设置为“仅当会话状态中的当前值为空时”使用。表达式为:

trunc(last_day(sysdate)-1, 'mm')

我更改了返回当前日期的 P200_DATE_TO PL/SQL 表达式的来源。它还设置为“仅当会话状态中的当前值为空”时使用。表达式为:

sysdate

当我运行该页面时,它完全按预期加载,因为 P200_DATE_FROM 页面项目填充了当前月份的第一个日期,P200_DATE_TO 项目填充了当前日期,交互式网格显示正确数据。

问题:当我选择操作 -> 下载 -> CSV 时,CSV 文件下载并作为 Excel 文件打开,但只显示标题名称。标题下方的单元格都是空的。但是,如果我更改 P200_DATE_FROM 页面项目和/或 P200_DATE_TO 页面项目中的日期之一(或两者),然后按提交按钮,则提交页面,然后当我单击操作 -> 下载 -> CSV 时, Excel 文件打开,所有数据都完美显示(列标题和标题下的数据)。

我不明白为什么当我最初加载页面时,交互式网格的 CSV 文件没有正确下载,但在我单击提交按钮后,CSV 文件确实下载正确。

有人有什么想法吗?

提前谢谢你。

【问题讨论】:

    标签: oracle oracle-apex oracle-apex-5 oracle-apex-5.1


    【解决方案1】:

    我认为您只需将这些项目的名称放在 SQL 旁边的“要提交的项目”字段中。当它下载时,我认为它使用会话中项目的值重新处理 SQL。如果您不将这些项目放在那里,则值不会进入会话。输入以逗号分隔的项目名称。之后,我认为您的 SQL 需要进行任何更改

    【讨论】:

      【解决方案2】:

      报告的查询可能包含一个WHERE 子句,如下所示:

      where some_date between :P200_DATE_FROM and :P200_DATE_TO
      

      修改它,使其包含 NVL 函数,其第二个参数反映项目的默认值,即

      where some_date between nvl(:P200_DATE_FROM, trunc(last_day(sysdate)-1, 'mm'))
                          and nvl(:P200_DATE_TO, sysdate)
      

      运行页面,下载 CSV;有什么改善吗?

      【讨论】:

      • 解决了!谢谢!如果您不介意解释,为什么要对查询进行编辑才能正确下载 CSV 文件?
      • 不客气。我不知道为什么它不能按预期工作(即通过设置项目的默认值)。我遇到了同样的问题,并艰难地学习了如何解决它。如果我知道为什么,我会告诉你,但是 - 我不知道。对不起。
      • 没问题,Littlefoot,感谢您的帮助!
      • 我认为您只需将这些项目的名称放在 SQL 旁边的“要提交的项目”字段中。当它下载时,我认为它使用会话中项目的值重新处理 SQL。如果您不将这些项目放在那里,则值不会进入会话。输入以逗号分隔的项目名称。在那之后,我认为你的 SQL 有必要进行任何更改...
      • 啊哈! @romeu,这是有道理的。谢谢你的想法,我会尽量记住它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多