点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我正在尝试将文件下载到AL11文件夹,而我可以实现这一目标。 像往常一样,我将一行中的所有列都转换为字符格式,然后将所有这些都串联为单个字符串。 此问题进一步"转移"到了已打开的数据集,并且文件下载正常。 但是下载后,使用CG3Y,我得到的货币格式保持左对齐,现在不再是数字类型。 我无法在此基础上进行直接求和,因为它不再以数字或附加格式表示。 我正在使用以下代码
lv_floattpm =。 "。将估值货币传递给浮点变量。
将ls_gdwn-spotvalue_valuationcurr写入lv_tpmamount。
lv_spotvals_vc = lv_tpmamount。
冷凝lv_spotvals_vc。
此值还用于传输到输出文件数据集。
输出如下。
但是上面的并不是真正的数字格式,将其转换是一团糟。 希望在excelsheets中获得输出格式作为用户中的设置。 如上图所示,它需要很多步骤来调整格式以添加总和等。请您对此提出建议。
此致
ABb
(3.5 kB)
你好
如下解决。
下面提到了我正在考虑的2种不同情况。
对于桌面的GUI_DOWNLOAD选项,代码没有重大更改。 通过使SU01中的用户格式与Windows中的用户格式相同,可以确定生成的excel将具有用户所需的格式。
从下载到AL11的文件中下载Excel时,生成的Excel文件(使用CG3Y到桌面)将不具有带有值字段的列所需的格式。 由于我们在下载到AL11时使用了数据集文件生成选项,因此该文件始终为字符串/字符格式。 因此,在使用值字段的情况下,输出将不会具有数字格式,因此很难转换为数字格式。 标识在将文件串联形成数据集时,所有字段均为字符格式。 无论哪种语言,这都是CSV或制表符分隔值的已知问题。 那只是文本,没有信息是数字。 Excel不能再将它们解释为数字,而是将其打开为文本。 因此,我怀疑核心问题是分隔符与用户的本地首选项不匹配。 我添加了代码以识别并删除分隔符; 这可行。 使用CG3Y将文件从AL11下载到桌面时,在桌面中下载到excel时没有问题。 唯一的问题是关于分隔符的问题,因为我们在代码中将其删除了,所以这些分隔符不可用。 但是求和适用于列。
我不知道您对"第三方工具"赋予什么含义。 abap2xlsx拥有Apache 2.0许可,可以使用,分发,修改等。如果您喜欢低质量的程序,没问题,这是您的选择。
您需要使用WRITE来转换数字 和货币值。 例如。
这将自动使用用户的小数和千位分隔符设置,并调整诸如HUF的无小数的货币。
有关更多信息,请参见此处。 详细信息: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/zh- 我们/abapwrite_int_options.htm
我对Abap2xlsx不太了解。 已将其作为第三方插件阅读。 您能否在这方面给我更多指导。
试过了。 这没有帮助; 似乎是不能用于算术运算的方式。
最简单的示例:
abap2xlsx提供的很多演示程序。
我使用Excel 365和一个文本文件进行了简单测试。 在美国,因此我们使用逗号(,)表示千位分隔符,使用点号(。)表示小数位。我只是在PC上打开Excel并将TXT文件拖放到其中。
< p>如果我在文本文件中输入这些值,则Excel可以将它们解释为数字没有问题:10,000.00
1,000.00
这没关系
但是一旦我切换了分隔符(10.000,00),Excel就无法再将它们解释为数字并以文本形式打开它们了。所以我怀疑核心 问题是分隔符与用户的本地首选项不匹配。
一周热门 更多>