EXCEL上传内容到内表

** 打开文件
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
&指定上载文件完整路径
CALL FUNCTION ‘KD_GET_FILENAME_ON_F4’
EXPORTING
MASK = ',
.XLS,.XLSX’ "’,.TXT,*.TXT’
STATIC = ‘X’
CHANGING
FILE_NAME = P_FILE.

***从EXCEL文件中导入数据到内表中
*&指定sheet名
LV_POSHEET = TEXT-S01.
LV_HEADSHEET = TEXT-S02.
LV_ITEMSHEET = TEXT-S03.
CLEAR: GT_PODATA,GT_POTXT,LT_TABLINE[].
*&读取采购订单sheet页
CALL FUNCTION ‘ZALSM_EXCEL_TO_INTERNAL_TABLE’
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = 1 " 导入单元格的开始列
I_BEGIN_ROW = 2 " 导入单元格的开始行
I_END_COL = 14 " 导入单元格的结束列
I_END_ROW = 9999 " 导入单元格的结束行
IV_SHEET_NAME = LV_POSHEET
TABLES
INTERN = LT_TABLINE
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.

IF SY-SUBRC <> 0.

  • MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

  •        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    

    ENDIF.

  • &检查导入模板是否填充数据
    DATA: L_LINE TYPE I .
    IF LT_TABLINE[] IS INITIAL.
    MESSAGE ‘导入的模板无数据!’ TYPE ‘E’.
    ELSE.

  • DESCRIBE TABLE LT_TABLINE LINES L_LINE.

  • DELETE LT_TABLINE INDEX L_LINE .
    ENDIF.

发布了14 篇原创文章 · 获赞 0 · 访问量 295

猜你喜欢

转载自blog.csdn.net/weixin_46075394/article/details/104551782