TEXT_CONVERT_XLS_TO_SAP-上传EXCEL文件

发布时间 2023-05-08 15:40:55作者: 往事只能回味---
*&---------------------------------------------------------------------*
*& Report  Z018
*&
*&---------------------------------------------------------------------*
*&
*& 上传Excel文件
*&---------------------------------------------------------------------*

REPORT Z018 MESSAGE-ID ZHQ NO STANDARD PAGE HEADING.

PARAMETERS P_FILE TYPE CHAR128 OBLIGATORY.


TYPES:BEGIN OF MATERIAL,
  ID TYPE CHAR10,
  NAME TYPE CHAR50,
END OF MATERIAL.

DATA GT_MATERIAL TYPE TABLE OF MATERIAL.
DATA GS_MATERIAL TYPE MATERIAL.


INITIALIZATION.

  P_FILE = 'C:\Users\Administrator\Desktop\ABCD.xlsx'.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

  CALL FUNCTION 'WS_FILENAME_GET'
   EXPORTING
     MASK                   = ',excel,*.xlsx,'
     MODE                   = 'O'
     TITLE                  = '上传EXCEL表格文件'
   IMPORTING
     FILENAME               = P_FILE
   EXCEPTIONS
     INV_WINSYS             = 1
     NO_BATCH               = 2
     SELECTION_CANCEL       = 3
     SELECTION_ERROR        = 4
     OTHERS                 = 5.

START-OF-SELECTION.

DATA RAW TYPE TRUXS_T_TEXT_DATA.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
  EXPORTING
   I_FIELD_SEPERATOR          = 'X'
   I_LINE_HEADER              = 'X'
    I_TAB_RAW_DATA             = RAW
    I_FILENAME                 = P_FILE
  TABLES
    I_TAB_CONVERTED_DATA       = GT_MATERIAL
 EXCEPTIONS
   CONVERSION_FAILED          = 1
   OTHERS                     = 2.





END-OF-SELECTION.

DATA LEN TYPE I VALUE 0.

DESCRIBE TABLE GT_MATERIAL LINES LEN.

IF LEN > 0.
  LOOP AT GT_MATERIAL INTO GS_MATERIAL.
      WRITE: / GS_MATERIAL-ID,GS_MATERIAL-NAME.
  ENDLOOP.
ELSE.
  MESSAGE S000 WITH '没有数据' DISPLAY LIKE 'e'.
ENDIF.