【发布时间】:2015-12-23 17:16:16
【问题描述】:
我使用 Oracle Application Express (APEX) 创建了一个交互式报表。问题是当下载到.csv 时,.csv 导出中的列(带有数字值的字符串格式)正在发生变化。例如,列值在交互式报表的屏幕上显示为123456789。但是,一旦将报告下载到.csv,该值就是123456780。它将最后一个值更改为“0”,但仅在导出时。我已经搜索了网络无济于事。这会自动发生(.csv 列根本没有格式化,只从 APEX 导出)。有谁知道为什么会这样?它是 APEX 错误吗??
【问题讨论】:
-
能否提供源表定义?特别是该列的定义。它真的是 VARCHAR 或类似的,还是数字类型?当您将 CSV 文件作为文本文件查看,还是在电子表格 (Excel) 中查看时,是否存在此更改后的值?
-
通过文本阅读器(上下文)查看 .csv 文件后,我可以看到该值是正确的,但使用 Microsoft Excel 打开文件时除外。因此,我现在知道问题不在于 Oracle APEX,而在于 Microsoft Excel。我需要弄清楚为什么 Excel 没有将所有值都视为文本(而不是将值转换为各种数据类型)。
-
这个值真的包含10位数字吗?我记得,Excel 可以处理 14 位或 15 位数字,如果数字长度较高,Excel 会将其四舍五入(您会看到零)。您可以在数字前添加符号
',Excel会将其视为字符串,而不是数字。
标签: oracle csv oracle-apex