开发:报表公共单元(三) EXCEL上传

*&---------------------------------------------------------------------*
*&  Include           ZFILE_XLS
*   传出表 ITXLS
*
*
*&---------------------------------------------------------------------*
TYPE-POOLS: TRUXS.
TYPESBEGIN OF T_DATATAB,"只记录excel文件的前50列
      COL1(200)    TYPE C,
      COL2(200)    TYPE C,
      COL3(200)    TYPE C,
      COL4(200)    TYPE C,
      COL5(200)    TYPE C,
      COL6(200)    TYPE C,
      COL7(200)    TYPE C,
      COL8(200)    TYPE C,
      COL9(200)    TYPE C,
      COL10(200)    TYPE C,

      COL11(200)    TYPE C,
      COL12(200)    TYPE C,
      COL13(200)    TYPE C,
      COL14(200)    TYPE C,
      COL15(200)    TYPE C,
      COL16(200)    TYPE C,
      COL17(200)    TYPE C,
      COL18(200)    TYPE C,
      COL19(200)    TYPE C,
      COL20(200)    TYPE C,

      COL21(200)    TYPE C,
      COL22(200)    TYPE C,
      COL23(200)    TYPE C,
      COL24(200)    TYPE C,
      COL25(200)    TYPE C,
      COL26(200)    TYPE C,
      COL27(200)    TYPE C,
      COL28(200)    TYPE C,
      COL29(200)    TYPE C,
      COL30(200)    TYPE C,


      COL31(200)    TYPE C,
      COL32(200)    TYPE C,
      COL33(200)    TYPE C,
      COL34(200)    TYPE C,
      COL35(200)    TYPE C,
      COL36(200)    TYPE C,
      COL37(200)    TYPE C,
      COL38(200)    TYPE C,
      COL39(200)    TYPE C,
      COL40(200)    TYPE C,

      COL41(200)    TYPE C,
      COL42(200)    TYPE C,
      COL43(200)    TYPE C,
      COL44(200)    TYPE C,
      COL45(200)    TYPE C,
      COL46(200)    TYPE C,
      COL47(200)    TYPE C,
      COL48(200)    TYPE C,
      COL49(200)    TYPE C,
      COL50(200)    TYPE C,
      COL51(200)    TYPE C,

      END OF T_DATATAB.
DATA: ITXLS TYPE STANDARD TABLE OF T_DATATAB WITH HEADER LINE.

DATA: IT_RAW TYPE TRUXS_T_TEXT_DATA.



SELECTION-SCREEN BEGIN OF BLOCK S02 WITH FRAME TITLE TEXT-S02.
*文件上传路径

PARAMETERS: P_FILE TYPE  RLGRAP-FILENAME OBLIGATORY DEFAULT '*.xls'.

SELECTION-SCREEN END OF BLOCK S02.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      FIELD_NAME 'P_FILE'
    IMPORTING
      FILE_NAME  = P_FILE.

START-OF-SELECTION.
  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
      I_LINE_HEADER        'X'           "带表头的,占一行,这一行不会读到内表
      I_TAB_RAW_DATA       = IT_RAW        "WORK TABLE
      I_FILENAME           = P_FILE        "读这个文件时要保证它没有被打开
    TABLES
      I_TAB_CONVERTED_DATA = ITXLS[]   "ACTUAL DATA
    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.

END-OF-SELECTION.

原文地址:https://www.cnblogs.com/twttafku/p/14262902.html