将Excel文件转换为Google Sheet兼容格式

2020-08-26 21:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我们刚刚从使用Excel移到了Google表格。 因此,现在我们需要在Google表格中打开所有文件。 我使用OAuth浏览了Google Sheet和SAP Integration上的博客,它需要升级的系统,看起来像是标准解决方案。 我需要的是上传文件时至少会在Google表格中打开文件(而不是直接从SAP保存到Google)。

尽管大多数文件都可以工作,但我们有一个程序可以根据要求使用XML颜色格式下载ALV报告。

代码段如下所示:

.......

*创建ixml工厂
l_ixml = cl_ixml => create()。

*创建DOM对象模型
l_document = l_ixml-> create_document()。

*创建根节点'工作簿'
l_element_root = l_document-> create_simple_element_ns(name ='Workbook'parent = l_document)。
l_element_root-> set_attribute(name ='xmlns'value ='urn:schemas-microsoft-com :office:spreadsheet')。

ns_attribute = l_document-> create_namespace_decl(name ='ss'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:spreadsheet')。
l_element_root-> set_attribute_node(ns_attribute)。

ns_attribute = l_document-> create_namespace_decl(name ='x'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:excel')。 > l_element_root-> set_attribute_node(ns_attribute)。

........

.........

调用功能'SCMS_XSTRING_TO_BINARY'
导出
缓冲区= xtext
导入
output_length = lv_bin_size
表格
binary_tab = lt_data_tab。


调用方法 cl_gui_frontend_services => gui_download
导出
bin_filesize = lv_bin_size
文件名= lv_fullpath
文件类型='BIN'
更改
data_tab = lt_data_tab。

......

但是该文件不会在Google表格中打开。 我可以使用在线转换器 https://cloudconvert.com/xls-to-csv 来转换此文件 转换为XLSX格式,该格式会在Google表格中打开,并带有颜色格式。

可以在程序中完成这种转换吗?

感谢和问候

Vivek

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我们刚刚从使用Excel移到了Google表格。 因此,现在我们需要在Google表格中打开所有文件。 我使用OAuth浏览了Google Sheet和SAP Integration上的博客,它需要升级的系统,看起来像是标准解决方案。 我需要的是上传文件时至少会在Google表格中打开文件(而不是直接从SAP保存到Google)。

尽管大多数文件都可以工作,但我们有一个程序可以根据要求使用XML颜色格式下载ALV报告。

代码段如下所示:

.......

*创建ixml工厂
l_ixml = cl_ixml => create()。

*创建DOM对象模型
l_document = l_ixml-> create_document()。

*创建根节点'工作簿'
l_element_root = l_document-> create_simple_element_ns(name ='Workbook'parent = l_document)。
l_element_root-> set_attribute(name ='xmlns'value ='urn:schemas-microsoft-com :office:spreadsheet')。

ns_attribute = l_document-> create_namespace_decl(name ='ss'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:spreadsheet')。
l_element_root-> set_attribute_node(ns_attribute)。

ns_attribute = l_document-> create_namespace_decl(name ='x'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:excel')。 > l_element_root-> set_attribute_node(ns_attribute)。

........

.........

调用功能'SCMS_XSTRING_TO_BINARY'
导出
缓冲区= xtext
导入
output_length = lv_bin_size
表格
binary_tab = lt_data_tab。


调用方法 cl_gui_frontend_services => gui_download
导出
bin_filesize = lv_bin_size
文件名= lv_fullpath
文件类型='BIN'
更改
data_tab = lt_data_tab。

......

但是该文件不会在Google表格中打开。 我可以使用在线转换器 https://cloudconvert.com/xls-to-csv 来转换此文件 转换为XLSX格式,该格式会在Google表格中打开,并带有颜色格式。

可以在程序中完成这种转换吗?

感谢和问候

Vivek

付费偷看设置
发送
4条回答
蓋茨
1楼 · 2020-08-26 22:09.采纳回答

您好 Vivek Prabhu

我可以看到相同的云转换具有REST API API控制台xls到csv

尝试在ABAP中使用此API并将其转换吗?

您可以使用类CL_REST_HTTP_CLIENT来实现它。

落灬小鱼
2楼-- · 2020-08-26 22:04

因此,您的代码当前在旧的XML 2003中生成一个Excel文件。 格式(AKA XMLSS)。

您提到的在线转换器将其转换为保留颜色的特殊CSV格式...

您应该搜索Google表格文档,其中应说明什么 输入格式是预期的,并且您使用ABAP对转换器进行编码。

Cikesha
3楼-- · 2020-08-26 21:52

Google驱动器文件流将使您能够自动将Excel文件与Google表格同步。 您需要找到插件来连接文件。 很少有插件可以做到这一点,只需搜索即可。 我不能说名字。

代楠1984
4楼-- · 2020-08-26 21:53

Vivek Prabhu XLSX(Office Open XML)格式并不是真正的新事物。 这是13岁。 是的,您可以使用ABAP创建XLSX文件,例如,使用 ABAP2XLSX 进行创建,或者也可以将标准ALV内置到XLSX格式中。 例如,检查" SALV to xlsx"关键字。

一周热门 更多>