Down the Excel template from SAP server

step1 :

upload the template via T-code  SMW0

Step 2:

download to local via below coding.

 FORM f_download_template .

  DATA: l_objdata    type wwwdatatab,
        l_rc         type sy-subrc,
        l_msgtx type BAPI_MSG.                              "错误处理


  SELECT SINGLE relid
                objid
         FROM   wwwdata                                     "存对象模板的表
         INTO CORRESPONDING FIELDS OF l_objdata
         WHERE srtf2 = 0
           AND relid = 'MI'                                  "有三种类型 HT MI IT
           AND objid = c_objname .

  IF sy-subrc <> 0.
    WRITE : / '模板文件:' ,c_objname , '不存在,请用TCODE:SMW0进行加载'.
    EXIT.
  ENDIF.

  IF  l_objdata-objid = space .
    WRITE : / '模板文件:' , c_objname , '不存在,请用TCODE:SMW0进行加载'.
    EXIT.
  ENDIF.

  CONCATENATE 'C:/'  c_objname  INTO g_filepath.                    "把路径与文件名称放到destination中

  CONDENSE g_filepath NO-GAPS.

  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = l_objdata
      destination = g_filepath
    IMPORTING
      rc          = l_rc.

*调用日志工具

  IF l_rc <> 0.
    CONCATENATE '模板文件:' c_objname ' 下载失败'
                into l_msgtx.

    call function 'ZISZZG003_WRITE_LOG'
      EXPORTING
        dev_u = 'RCS01'             " 开发项编号
        spanr = '1'                 " 开发项顺序号
        bukrs = sy-DYNNR            " 当前的编号
        proce = sy-tcode           " 处理过程
        msgtx = l_msgtx.            " 日志信息文本

  ENDIF.

ENDFORM.   

 

step 3 :

Open the excel via below coding.

 include ole2incl. 

 data:
      g_filepath      type rlgrap-filename,
      g_EXCEL         TYPE OLE2_OBJECT,
      g_WORKBOOK      TYPE OLE2_OBJECT,
      g_worksheets    TYPE OLE2_OBJECT,
      g_CELL          TYPE OLE2_OBJECT,  

FORM f_open_file .

  data: l_msgtx type BAPI_MSG.

  create OBJECT g_excel 'Excel.application'.
*创建Excel文件时失败, 调用日志程序

  l_msgtx = text-t02.

  IF sy-subrc <> 0.

    CONCATENATE '模板文件:' c_objname ' 下载失败'
                into l_msgtx.

    call function 'ZISZZG003_WRITE_LOG'
      EXPORTING
        dev_u = 'RCS01'             " 开发项编号
        spanr = '1'                 " 开发项顺序号
        bukrs = sy-DYNNR            " 当前的编号
        proce = sy-tcode            " 处理过程
        msgtx = l_msgtx.            " 日志信息文本

  ENDIF.

  SET PROPERTY OF g_excel 'visible'   = 1.                      "EXCEL可见
  CALL METHOD OF g_excel 'Workbooks' = g_workbook.

  CALL METHOD OF g_workbook 'Open' = g_workbook
    EXPORTING #1 = g_filepath.                              "打开模板

  CALL METHOD OF g_excel 'Worksheets' = g_worksheets          "模板SHEET,即SHEET1
      EXPORTING #1 = 1.


ENDFORM.   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值