DATA: IT_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
PARAMETERS FN LIKE RLGRAP-FILENAME MEMORY ID MO1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FN.
DATA: I_RC TYPE I,
I_FILETABLE TYPE FILETABLE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = '选择源文件'
FILE_FILTER = 'excel文件 (*.xls)|*.XLS|全部文件 (*.*)|*.*|'
MULTISELECTION = SPACE
CHANGING
FILE_TABLE = I_FILETABLE
RC = I_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 I_RC = 1.
READ TABLE I_FILETABLE INTO FN INDEX 1.
ENDIF.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FN
I_BEGIN_COL = 1
I_BEGIN_ROW = 1
I_END_COL = 100
I_END_ROW = 65536
TABLES
INTERN = IT_EXCEL
PARAMETERS FN LIKE RLGRAP-FILENAME MEMORY ID MO1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FN.
DATA: I_RC TYPE I,
I_FILETABLE TYPE FILETABLE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = '选择源文件'
FILE_FILTER = 'excel文件 (*.xls)|*.XLS|全部文件 (*.*)|*.*|'
MULTISELECTION = SPACE
CHANGING
FILE_TABLE = I_FILETABLE
RC = I_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 I_RC = 1.
READ TABLE I_FILETABLE INTO FN INDEX 1.
ENDIF.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FN
I_BEGIN_COL = 1
I_BEGIN_ROW = 1
I_END_COL = 100
I_END_ROW = 65536
TABLES
INTERN = IT_EXCEL
本文档介绍如何在SAP ABAP环境中通过对话框选择本地Excel文件,并将其内容读取到内部表中。首先使用CL_GUI_FRONTEND_SERVICES的FILE_OPEN_DIALOG方法打开文件选择对话框,然后调用ALSM_EXCEL_TO_INTERNAL_TABLE函数将选定的Excel文件内容导入到内存中的IT_EXCEL表。
2883

被折叠的 条评论
为什么被折叠?



