jgtang82 发表于 2013-2-4 22:23:18

ABAP 读EXCEL 到内表 & 逆过程

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
页: [1]
查看完整版本: ABAP 读EXCEL 到内表 & 逆过程