点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试转换网络共享文件夹(应用程序服务器)中可用的.XLSX文件。 我能够使用XSLT提取数据,但是我遇到了文件中日期列的问题。
提取后,我将获得如下所示的日期列值
这是我的XSLT代码。 请帮忙正确获取日期值。
http://www.w3.org/1999/XSL/Transform"
xmlns:ss =" http://schemas.openxmlformats.org/电子表格ml/2006/main "
xmlns:sap =" http:// www.sap.com/sapxsl "
xmlns:asx =" http: //www.sap.com/abapxml " exclude-result-prefixes =" c" version =" 1.0">
< xsl:if test =" $ v_index">
(7.0 kB)
Sandra Rossi 提到,XLSX文件中实际存储的是一个数字,表示从基准日期起经过的天数 。 是Excel应用程序将其隐藏在与语言相关的日期表示形式之后,就像ABAP中的输出转换出口一样。
这是将值转换为ABAP日期格式的方式:
< pre>常量:基线日期类型d值'19000101'。 数据:days_passed TYPE i, result_date TYPE d。 days_passed = excel_date_string。result_date =基准日期+经过的天数-2。
BR,
Gábor
Excel日期/时间字段的整数部分是自1/1/1900以来的天数(小数部分是
但是您不想使用abap2xlsx吗?
仅供参考:通过转换,您可以在其中读取值,但是 值格式取决于sharedstring.xml中的定义(在某些情况下,直接在sheet.xml中)。 除了在transform或ABAP中手动将其转换外,我没有找到其他更简单的方法。 我建议使用CL_XML_DOCUMENT处理转换以外的xml文件...
嗨,桑德拉,
我试图将excel日期列的格式更改为text,然后它显示了我们在内部表中收到的值。
实际上,我在这里所做的是-我正在以二进制模式读取文件,因为它是应用程序服务器中的.xlsx文件,然后使用XSLT转换为xstring然后是XML,然后从那里将数据接收到内部 表。 因此,在传输到XSLT时,我们的日期列将转换为文本格式。 是否有将文件列格式保留在XSLT中的方法?
谢谢
Venkat。
谢谢Gabor。 你让我开心。
一周热门 更多>