TEXT_CONVERT_XLS_TO_SAP-上传excel

发布时间 2023-04-15 19:55:41作者: 往事只能回味---
*&---------------------------------------------------------------------*
*& Report  Z004
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z004.

TYPES:BEGIN OF ELE,
  K1 TYPE CHAR10,
  K2 TYPE CHAR10,
END OF ELE.

PARAMETERS P_FILES TYPE RLGRAP-FILENAME .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILES.

  CALL FUNCTION 'WS_FILENAME_GET'
   EXPORTING
*     DEF_FILENAME           = ' '
*     DEF_PATH               = ' '
*     MASK                   = ' '
     MODE                   = 'O'
     TITLE                  = '上传Excel表格'
   IMPORTING
     FILENAME               = P_FILES
*     RC                     =
*   EXCEPTIONS
*     INV_WINSYS             = 1
*     NO_BATCH               = 2
*     SELECTION_CANCEL       = 3
*     SELECTION_ERROR        = 4
*     OTHERS                 = 5
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

START-OF-SELECTION.


DATA LT_RAW TYPE TRUXS_T_TEXT_DATA.
DATA LT_TABLE TYPE TABLE OF ELE.

IF P_FILES IS NOT INITIAL.
  DATA FILENAME TYPE STRING.
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
     I_FIELD_SEPERATOR          = 'X'
     I_LINE_HEADER              = 'X'
      I_TAB_RAW_DATA             = LT_RAW
      I_FILENAME                 = P_FILES
    TABLES
      I_TAB_CONVERTED_DATA       = LT_TABLE
*   EXCEPTIONS
*     CONVERSION_FAILED          = 1
*     OTHERS                     = 2
            .
  IF SY-SUBRC = 0.
    DATA LEN TYPE I.
    DESCRIBE TABLE LT_TABLE LINES LEN.

    WRITE : / '共计:',LEN.
  ENDIF.


ELSE.
  MESSAGE '请选择上传文件' TYPE 'I'.
ENDIF.