XLS文件读取 & cl_gui_frontend_services=>file_open_dialog

本文介绍了一种使用ABAP编程语言将Excel数据导入到SAP系统内部表的方法。通过调用'ALSM_EXCEL_TO_INTERNAL_TABLE'函数模块,可以从指定路径读取Excel文件,并将指定范围内的数据转换为SAP内部表格式。此外,还提供了选择文件对话框的实现,方便用户选择要导入的Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DEFINE transe_excel_into_intertable.
  data : l_intern like alsmex_tabline occurs 0 with header line.
  data : l_index type i.
  field-symbols : <fs>.
  call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    exporting
      filename                = &1
      i_begin_col             = &2
      i_begin_row             = &3
      i_end_col               = &4
      i_end_row               = &5
    tables
      intern                  = l_intern
    exceptions
      inconsistent_parameters = 1
      upload_ole              = 2.
*      OTHERS                  = 3.
  loop at l_intern.
    move l_intern-col to l_index.
    assign component l_index of structure &6 to <fs>.
    move l_intern-value to <fs>.
    at end of row.
      append &6.
      clear  &6.
    endat.
  endloop.
END-OF-DEFINITION.

 

PARAMETERS: SRC_FILE LIKE RLGRAP-FILENAME LOWER CASE DEFAULT
                              'C:/homedir/ipe_range.xls'.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR src_file.
  PERFORM select_file CHANGING src_file.

START-OF-SELECTION.
******************************Upload Data from File*********************
  transe_excel_into_intertable src_file 1 2 7 1000 s_itab.

 

 

FORM select_file CHANGING src_file.
  DATA: l_rc         TYPE i,
        l_filetable  TYPE filetable.
* Open The txt File
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      window_title            = '请选择导入文件'
      file_filter             = 'Excel(*.XLS)|*.XLS|全部文件 (*.*)|*.*|'
      multiselection          = space
    CHANGING
      file_table              = l_filetable
      rc                      = l_rc
    EXCEPTIONS
      file_open_dialog_failed = 1
      cntl_error              = 2
      error_no_gui            = 3
      not_supported_by_gui    = 4
      OTHERS                  = 5.

  IF sy-subrc = 0 AND l_rc = 1.
    READ TABLE l_filetable INTO src_file INDEX 1.
  ENDIF.
ENDFORM.                    "SELECT_FILE 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值