zoukankan      html  css  js  c++  java
  • ◆◆0通过XML转换下载.xlsx格式的excel文件

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

    2017-02-04_15-28-29

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

    2017-02-04_15-46-37

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

    2017-02-04_15-30-57

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

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

    2017-02-04_15-40-34

    代码简单说明:

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

    2017-02-04_15-58-35

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

    以上。

  • 相关阅读:
    为什么要使用虚拟内存?
    iptables系列
    MySQL 加锁处理分析
    血战的浏览器历史
    TCP协议详解
    OAuth 2.0详解
    Redis 和 I/O 多路复用
    Kubernetes的十大使用技巧
    Nginx动态路由的新姿势:使用Go取代lua
    个人博客实现Archives查询小记
  • 原文地址:https://www.cnblogs.com/lvdong18847870057/p/12544104.html
Copyright © 2011-2022 走看看