◆◆0通过XML转换下载.xlsx格式的excel文件

Posted lvdong18847870057

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了◆◆0通过XML转换下载.xlsx格式的excel文件相关的知识,希望对你有一定的参考价值。

在SAP系统中,通过SE11显示一个table的内容,可以发现ALV grid的显示界面上有个spread sheet的标准按钮,点击这个按钮可以将显示的内容下载成excel文件,其中也包括扩展名.xlsx的文件。

技术图片

这个功能很方便,因为下载的结果和ALV中看到的是一样的。

技术图片

debug研究了一下标准代码,发现是将需要下载的内表先转换成XML stream,然后再通过gui_download的BIN模式将xml stream下载成.xlsx文件。

技术图片

写了一个简单的程序供大家参考

在status上加了两个按钮,一个是标准的spreadsheet按钮(&XXL),一个是自定义的按钮(DOWN),供下载结果对比使用。

技术图片

代码简单说明:

1) cl_salv_bs_tt_util=>if_salv_bs_tt_util~transform是用来指定下载的excel格式的,也就是模拟了标准按钮的那个format选择步骤,这个类方法中用到了接口if_salv_bs_xml中的一些属性,10就标识是下载成.xlsx格式的文件。

技术图片

2) SCMS_XSTRING_TO_BINARY可以将Xtring转化成二进制格式并保存到内表中

以上。

以上是关于◆◆0通过XML转换下载.xlsx格式的excel文件的主要内容,如果未能解决你的问题,请参考以下文章

excel表格xlsx格式文件打开后自动变成xlsm文件怎么回事?

将 Excel XML 电子表格转换为 xlsx

xml格式转换为excel

XLSX.js读取excel日期格式时 将数字转换为正常日期格式

怎样在Android中解析doc,docx,xls,xlsx格式文

如何将Word文档或xls格式的表格转化成PDF格式?