首页 > 其他 > 详细

2020.02.24 【ABAP随笔】- EXCEL常见操作笔记 1

时间:2020-02-25 02:27:54      阅读:76      评论:0      收藏:0      [点我收藏+]

EXCEL常见操作笔记 1

1.    Excel模板下载

TCODE:SMW0

创建excel模板(其他模板也可以)

我们选择二进制数据

技术分享图片

选择在哪个包里面创建模板

 技术分享图片

点击创建:

技术分享图片

备注:如果出现以下错误( 无分配给对象 c:\ 的 MINE类型)

技术分享图片

 则需要进行以下操作:保存。

 技术分享图片

 技术分享图片

技术分享图片

 技术分享图片

 这样就可以成功创建了。

技术分享图片

 

在report程序中代码:

TABLES:sscrfields.
SELECTION-SCREEN: FUNCTION KEY 1."在标题行
SELECTION-SCREEN PUSHBUTTON 02(10) TEXT-001 USER-COMMAND pb1."在select界面
INITIALIZATION.
  sscrfields-functxt_01 = 下载模板.

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN FC01OR ‘PB1‘.
CALL METHOD zcl_document_jxzhu=>download_template_to_frontend
        EXPORTING
          name_of_template = 物料主数据客制表
*         iv_relid         = ‘MI‘
          iv_objid         = ZMMT001
*        IMPORTING
*         rv_filepath      =
        EXCEPTIONS
          download_error   = 1
          OTHERS = 2.
      IF sy-subrc <> 0.
*       Implement suitable error handling here
      ENDIF.
    WHEN OTHERS.
  ENDCASE.

其中zcl_document_jxzhu=>download_template_to_frontend的代码为:

同学们可以直接创建SE24类。方便以后可以直接调用。

METHOD download_template_to_frontend.
    DATA: ls_key         TYPE wwwdatatab,
          ls_wwwdata     TYPE wwwdata,
          lv_filename    TYPE string,
          lv_path        TYPE string,
          lv_fullpath    TYPE string,
          lv_extension   TYPE c LENGTH 100,
          lv_user_action TYPE i.
    DATA: lv_offset TYPE i,
          lv_length TYPE i.
    CLEAR rv_filepath.
    IF iv_relid IS INITIAL.
      SELECT SINGLE relid objid srtf2 checkout checknew chname tdate ttime text
        INTO CORRESPONDING FIELDS OF ls_wwwdata
        FROM wwwdata
        WHERE objid = iv_objid.
      iv_relid = ls_wwwdata-relid.
    ELSE.
      SELECT SINGLE relid objid srtf2 checkout checknew chname tdate ttime text
        INTO CORRESPONDING FIELDS OF ls_wwwdata
        FROM wwwdata
        WHERE relid = iv_relid AND objid = iv_objid.
    ENDIF.

*window title
    DATA(iv_window_title) = |Please choose the save filepath !|.
*file extension
    CALL FUNCTION WWWPARAMS_READ
      EXPORTING
        relid            = ls_wwwdata-relid
        objid            = ls_wwwdata-objid
        name             = fileextension "c_extension of include LSHTMTOP
      IMPORTING
        value            = lv_extension
      EXCEPTIONS
        entry_not_exists = 1
        OTHERS           = 2.
    IF sy-subrc <> 0.
    ENDIF.
    DATA iv_default_extension TYPE string.
    iv_default_extension = lv_extension.
*file filter
    DATA(iv_file_filter) = (* && iv_default_extension && )|* && iv_default_extension.
*file name
    CONCATENATE name_of_template - sy-datum+0(8) sy-timlo+0(4)
      INTO DATA(iv_default_file_name).
    IF iv_default_file_name IS INITIAL.
      iv_default_file_name = ls_wwwdata-text.
    ELSE.
      WHILE iv_default_file_name CA ./.
        lv_offset = sy-fdpos.
        lv_length = lv_offset.
        lv_offset = lv_offset + 1.
        iv_default_file_name = iv_default_file_name+0(lv_length) && iv_default_file_name+lv_offset.
      ENDWHILE.
    ENDIF.
    ls_key-relid = iv_relid.
    ls_key-objid = iv_objid.
*File path of selection
    CALL METHOD cl_gui_frontend_services=>file_save_dialog
      EXPORTING
        window_title         = iv_window_title
        default_extension    = iv_default_extension
        default_file_name    = iv_default_file_name
        file_filter          = iv_file_filter
      CHANGING
        filename             = lv_filename
        path                 = lv_path
        fullpath             = lv_fullpath
        user_action          = lv_user_action
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4.
    IF sy-subrc <> 0.
* happen sth wrong
      DATA(ev_rc) = sy-subrc.
    ENDIF.
* user action ( exit or cancal )
    IF lv_user_action <> 0.
      ev_rc = lv_user_action.
    ENDIF.

    IF ev_rc <> 0 .
      RAISE download_error.
    ENDIF.

    rv_filepath = lv_fullpath.

*Download web object
    DATA: lv_destination TYPE rlgrap-filename.
    lv_destination = rv_filepath.
    CALL FUNCTION DOWNLOAD_WEB_OBJECT
      EXPORTING
        key         = ls_key
        destination = lv_destination
      IMPORTING
        rc          = ev_rc
      CHANGING
        temp        = lv_destination.
    IF ev_rc <> 0 .
      RAISE download_error.
    ENDIF.
  ENDMETHOD.

 

 效果:

技术分享图片

技术分享图片

- Tab Zhu 不念过去 不畏将来

 技术分享图片

 

SELECTION-SCREENFUNCTION KEY 1."在标题行
SELECTION-SCREEN PUSHBUTTON 02(10TEXT-001 USER-COMMAND pb1."在select界面

2020.02.24 【ABAP随笔】- EXCEL常见操作笔记 1

原文:https://www.cnblogs.com/jxzhu/p/12359692.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!