【问题标题】:Converting Issue date with download to CSV将下载日期转换为 CSV
【发布时间】:2021-09-26 11:23:34
【问题描述】:

由于日期转换,我遇到了功能模块“GUI_DOWNLOAD”的问题。 我想像在我的内部表中一样获取日期,但 CSV (Excel) 每次都在转换它。 内部表包含如下行:12345678;GroupDate;2021-12-31;

.csv 文件中的输出应为“2021-12-31”,但它不断转换为“31.12.2021”。

我还尝试在日期前添加一个 '(撇号),但输出将是 '2021-12-31

有人有想法吗?

      lv_conv = '2021-12-31'.
  CONCATENATE TEXT-001 LV_CONV INTO LV_CONV.

    CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME = IV_PATH
  TABLES
    DATA_TAB = LT_FILE.

LT_FILE 是一个字符串表。

感谢您的帮助。

【问题讨论】:

  • 不要混淆 ABAP 的作用(保存文件时)和 Excel 的作用(显示文件时)。 ABAP 使用2021-12-31 按您的意愿保存文件,但Excel 将其显示为31.12.2021(在您的笔记本电脑上;在我的笔记本电脑上它是12/31/2021,因为我的MS Office 区域设置)。如果您不希望 Excel 解释 CSV 文件中的值,您可以使用多种适用于 Excel 的策略,但这些策略可能仅适用于 Excel,因此您必须确保仅使用 Excel 打开此文件。我猜 Stack Overflow 中有很多关于如何为 Excel 格式化 CSV 的现有答案。
  • 同意 Sandra,我在打开 CSV 时多次遇到 Excel 的这个问题而没有任何 ABAP,这是一个 Excel 语言环境问题
  • 这能回答你的问题吗? Excel Date Formatting
  • 谢谢你们俩。我查了一下,确实是excel的设置,我找到的解决方案在stackoverflow.com/questions/165042/…

标签: excel csv date type-conversion


【解决方案1】:

就像 Suncatcher 和 Sandra 所说的文件是正确的,但只有 excel 中的设置才能转换日期。 如果输出文件不需要用于显示代码以外的其他目的,可能是这样的

CONCATENATE '=("' LV_CONV '")' INTO LV_CONV.

csv 输出将是一个类似 1960-01-01 的日期,但在单元格中,该值看起来像 =("1960-01-01")。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-29
    • 2012-05-22
    • 2020-08-30
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    相关资源
    最近更新 更多