REPORT YTEST015 .
*定义读入EXCEL的内表
DATA:BEGIN OF IEXCEL OCCURS 0.
INCLUDE STRUCTURE ALSMEX_TABLINE.
DATA:END OF IEXCEL.
PARAMETERS: FN1 LIKE RLGRAP-FILENAME MEMORY ID M01.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FN1.
PERFORM F4_FILENAME CHANGING FN1.
START-OF-SELECTION.
*从已知文件名读入内表
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FN1
I_BEGIN_COL = 1
I_BEGIN_ROW = 1
I_END_COL = 100 " 最大列数据
I_END_ROW = 1000 "最大行数
TABLES
INTERN = IEXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE:/ ’读入文件错误!’,fn1.
ELSE.
*循环读取内表并打印
LOOP AT IEXCEL.
WRITE IEXCEL-VALUE(2).
AT END OF ROW.
WRITE:/ .
ENDAT.
ENDLOOP.
ENDIF.
CITE FROM: http://www.cnblogs.com/byfhd/archive/2008/10/24/919621.html
*&---------------------------------------------------------------------*
*& Form F4_FILENAME
*&---------------------------------------------------------------------*
* Routine to allow user to select the path and filename
*----------------------------------------------------------------------*
* <--P_FNAME Path and filename
*----------------------------------------------------------------------*
FORM F4_FILENAME CHANGING P_FNAME.
DATA: L_FILEPATH(200) TYPE C,
L_FILENAME(200) TYPE C.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = SPACE
DEF_PATH = L_FILEPATH
MASK = ',*.*.'
MODE = 'O'
TITLE = 'File Selection'
IMPORTING
FILENAME = L_FILENAME
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
IF SY-SUBRC = 0 AND NOT ( L_FILENAME IS INITIAL ).
MOVE L_FILENAME TO P_FNAME.
ENDIF.
ENDFORM. " F4_FILENAME
How to download itab to client?
1. class method: cl_gui_frontend_services=>gui_download
2. FM: WS_DOWNLOAD / GUI_DOWNLOAD
3. OLE: MS_EXCEL_OLE_STANDARD_DAT
4. DOI