ABAP: Excel - Download by OLE - 4. 一个完整的Excel download程序

该博客演示了一个使用ABAP程序下载Excel数据的过程。通过调用SAP GUI函数,首先获取用户选择的路径,然后从数据库中选取SFLIGHT表的数据。接着,使用OLE2下载一个模板,并填充数据到Excel表格中,包括航班信息如航司ID、航班号等。最后,将编辑后的Excel保存到用户指定的路径,并关闭应用程序。
摘要由CSDN通过智能技术生成
*&---------------------------------------------------------------------*
*& Report  ZTEST3201
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ztest3201.


DATA: gv_application TYPE ole2_object,                 "一些定义在TOP里的data
      gv_sheet       TYPE ole2_object,
      gv_cell        TYPE ole2_object,
      gv_workbook    TYPE ole2_object,
      gv_columns     TYPE ole2_object,
      gv_rows        TYPE ole2_object,
      gv_file        TYPE rlgrap-filename.

DATA: gt_sflight TYPE TABLE OF sflight,
      gs_sflight TYPE sflight.

PARAMETERS: path TYPE filedir OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR path.
  PERFORM frm_get_filepath CHANGING path.

START-OF-SELECTION.
  SELECT * FROM sflight
    INTO CORRESPONDING FIELDS OF TABLE gt_sflight
    UP TO 50 ROWS.
  PERFORM frm_download_excel_local.

*&---------------------------------------------------------------------*
*&      Form  frm_get_filepath
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_PATH     text
*----------------------------------------------------------------------*
FORM frm_get_filepath CHANGING p_path.
  DATA: lv_title  TYPE string.
  DATA: lv_inifld TYPE string.
  DATA: lv_path   TYPE string.

  lv_title  = 'EXCEL DOWNLOAD'.         "dialog screen的标题,可选参数
  lv_inifld = 'C:\'.                    "打开dialog screen的默认文件夹位置

  CALL METHOD cl_gui_frontend_services=>directory_browse
    EXPORTING
      window_title         = lv_title
      initial_folder       = lv_inifld
    CHANGING
      selected_folder      = lv_path
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
  IF sy-subrc <> 0.
    CLEAR: p_path.
  ELSE.
    p_path = lv_path.
  ENDIF.

ENDFORM.                    "frm_get_filepath

*&---------------------------------------------------------------------*
*&      Form  frm_down
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值