excel数据导入内表示例

*&---------------------------------------------------------------------*
*& Report  ZEXCEL_TO_INTERNAL_TABLE
*&
*&---------------------------------------------------------------------*
*&做一个excel模版,模版头分别是 物料编号 工厂 库位,按顺序对应以下定义的内表IEXCEL
*&
*&---------------------------------------------------------------------*

REPORT  ZEXCEL_TO_INTERNAL_TABLE.
DATA:BEGIN OF IEXCEL OCCURS 0,
  MATNR LIKE MARD-MATNR,
  WERKS LIKE MARD-WERKS,
  LGORT LIKE MARD-LGORT,
  END OF IEXCEL.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
  PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.
  SELECTION-SCREEN END OF BLOCK B1.
  AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
*    取得文件名称
    PERFORM GET_FILENAME USING P_FILE.
  START-OF-SELECTION.
*  上载文件
PERFORM UPLOAD_FILE TABLES IEXCEL USING P_FILE.
PERFORM SHOWDATA.
*&---------------------------------------------------------------------*
*&      Form  GET_FILENAME
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_P_FILE  text
*----------------------------------------------------------------------*
FORM GET_FILENAME  USING P_FILE.
CALL FUNCTION 'F4_FILENAME'
 EXPORTING
   PROGRAM_NAME        = SYST-CPROG
   DYNPRO_NUMBER       = SYST-DYNNR
   FIELD_NAME          = 'P_FILE'
 IMPORTING
   FILE_NAME           = P_FILE
          .

ENDFORM.                    " GET_FILENAME
*&---------------------------------------------------------------------*
*&      Form  UPLOAD_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_IEXCEL  text
*      -->P_P_FILE  text
*----------------------------------------------------------------------*
FORM UPLOAD_FILE  TABLES   IEXCEL
                             "插入正确名称 <...>
                  USING    P_FILE.
  TYPE-POOLS:TRUXS.
  DATA IT_RAW TYPE TRUXS_T_TEXT_DATA.
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR          =
     I_LINE_HEADER              = 'X'
      I_TAB_RAW_DATA             = IT_RAW
      I_FILENAME                 = P_FILE
    TABLES
      I_TAB_CONVERTED_DATA       = IEXCEL
*   EXCEPTIONS
*     CONVERSION_FAILED          = 1
*     OTHERS                     = 2
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.



ENDFORM.                    " UPLOAD_FILE
*&---------------------------------------------------------------------*
*&      Form  SHOWDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SHOWDATA .
  WRITE:/ '物料编号','工厂','库位'.
  LOOP AT IEXCEL.
    WRITE:/ IEXCEL-MATNR,IEXCEL-WERKS,IEXCEL-LGORT.
  ENDLOOP.
ENDFORM.                    " SHOWDATA



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值