*定义文本标签
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text01.
PARAMETERS: p_file TYPE rlgrap-filename .
SELECTION-SCREEN END OF BLOCK blk1.
*实现打开文件夹,加载Excel
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
mask = ',All Files,*.*,*.xls,*.xlsx. '
mode = 'O'
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
*读取Excel数据
START-OF-SELECTION.
PERFORM frm_get_data.
END-OF-SELECTION.
FORM FRM_GET_DATA.
DATA: it_excel TYPE STANDARD TABLE OF alsmex_tabline WITH HEADER LINE.
DATA l_index LIKE sy-tabix.
FIELD-SYMBOLS: <fs>.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_file
i_begin_col = 1
i_begin_row = 2
i_end_col = 3
i_end_row = 50000
TABLES
intern = it_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF it_excel[] IS INITIAL.
MESSAGE '文件中没有数据' TYPE 'E'.
ENDIF.
SORT it_excel BY row.
LOOP AT it_excel.
MOVE it_excel-col TO l_index.
ASSIGN COMPONENT l_index OF STRUCTURE gt_upload TO <fs>.
MOVE it_excel-value TO <fs>.
AT END OF row.
APPEND gt_upload.
CLEAR gt_upload.
CLEAR it_excel.
ENDAT.
ENDLOOP.
ENDFORM .