【发布时间】:2021-10-19 23:26:29
【问题描述】:
我最近从 APEX 5.0.3 升级到 APEX 20.2,从那以后我在将表格下载为 .CSV 文件时遇到了问题
表格有很多列,每列包含文本、(十进制)数字或空值,在 APEX 中显示为 -(破折号),具有 APEX 功能(属性 => 外观 =>将空值显示为 - )
Col6、Col8 和 Col9 显示 -(破折号)
下表只是一个包含 10 列的示例(用 |(竖线)分隔),以供您参考。
示例表:
| Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 | Col9 | Col10 |
|---|---|---|---|---|---|---|---|---|---|
| Max | Muster | 1500 | USD | 2.25 | - | 13.02.2021 | - | - | A |
| Felix | Muster | 2300 | CHF | 3.25 | 1 | 26.07.2021 | IN | CN | D |
| Moritz | Max | 4500 | EUR | 4.20 | - | 16.08.2021 | - | - | C |
CSV 输出:
Max,Muster,1500,USD,2.25,,13.02.2021,,,A
Felix,Muster,2300,CHF,3.25,1,26.07.2021,IN,CN,D
Moritz,Max,4500,EUR,4.20,,16.08.2021,,,C
APEX 20.2 中的标准下载丢失了破折号!!我想知道为什么。
我希望 .CSV 文件中出现以下结果:
Max,Muster,1500,USD,2.25,**-**,13.02.2021,**-**,**-**,A
Felix,Muster,2300,CHF,3.25,1,26.07.2021,IN,CN,D
Moritz,Max,4500,EUR,4.20,**-**,16.08.2021,**-**,**-**,C
有没有人可以解决这个问题。我们有许多多达 100 列的报告,我们需要文件中的破折号。我不想在 .CSV 文件中添加破折号,也不想将 - 替换为任何其他(特殊)字符。
最好的问候,
托马斯
【问题讨论】:
-
您是如何下载到 CSV 的?您是否使用下载到 csv 的交互式网格属性(操作 --> 下载 --> CSV)?或者你使用 PL/SQL 进程来处理它?
-
嗨罗伯托。我正在使用 Actions --> 下载 --> CSV 和 apex 5.0.3 它工作得很好
-
嗨 Elch007。那就是问题所在。在 Apex 5 中,它的工作方式实际上有所不同。从 APEX 19 开始,我认为,当您按下载时,斜杠不是列的一部分,因为它是报告本身的属性,当值为空时显示某些内容。在 APEX 中没有简单的解决方案,因为您使用的是报表对象的 AJAX 属性,这很难处理。我更喜欢使用带有函数的标准下载链接,然后您可以在函数内执行所有操作。但在这种情况下,您必须更改所有受影响的页面。
-
关于 IG 和 IR(交互式网格和交互式报告)的 AJAX 代码有很多变化。实际上,它在成为错误之前是如何工作的,因为您正在下载数据库中不存在的数据。这就是为什么它在最近的版本中得到修复
标签: oracle csv null oracle-apex