ABAP EXCEL模板数据上传 及 注意事项

注意点:

1.excel数据上传失败的原因:

函数的结束行过大,

xls格式最大行项目是65536行,256列

xlsx最大行项目是1048576行,16384列

2.WPS EXCEL / 微软EXCEL

css 复制代码
CREATE OBJECT application 'Ket.Application'."wps excel

CREATE OBJECT application 'Excel.Application' NO FLUSH."微软 excel

ABAP案例

css 复制代码
DATA: itab_excel LIKE TABLE OF alsmex_tabline WITH HEADER LINE.

DATA: BEGIN OF gt_zstest OCCURS 0.
        INCLUDE STRUCTURE zstest.
DATA: box TYPE c,
      END OF gt_zstest.

PARAMETERS: p_file TYPE localfile.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file."搜索帮助按钮
  PERFORM frm_getfilename USING p_file.

START-OF-SELECTION.
  PERFORM frm_get_temp."获取模板数据

*&---------------------------------------------------------------------*
*&      Form  frm_get_temp
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_get_temp.
  DATA: lines TYPE i VALUE 0.
  FIELD-SYMBOLS : <fs>.
  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename                = p_file
      i_begin_col             = 1"开始列数
      i_begin_row             = 2"开始行数
      i_end_col               = 256
      i_end_row               = 10000
    TABLES
      intern                  = itab_excel
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  = 3.

  SORT itab_excel BY row col.

  LOOP AT itab_excel.   "将EXCEL内表数据存入内表中
    itab_excel-col = itab_excel-col +  1."因为我参考的表  有个客户端会影响赋值
    ASSIGN COMPONENT itab_excel-col OF STRUCTURE gt_zstest TO <fs>.
    MOVE itab_excel-value TO <fs>.
    AT END OF row.
      APPEND gt_zstest.
      CLEAR gt_zstest.
    ENDAT.
  ENDLOOP.

  DESCRIBE TABLE gt_zstest LINES lines.

  IF lines = 0.
    MESSAGE  '未找到EXCEL文件或EXCEL中无数据!' TYPE 'E'.
    LEAVE PROGRAM.
  ENDIF.
ENDFORM.                    "frm_get_temp

*&---------------------------------------------------------------------*
*&      Form  frm_getfilename
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->FILENAME   text
*----------------------------------------------------------------------*
FORM frm_getfilename USING filename.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = ' '
      def_path         = ' '
      mask             = ',*.*  ,*.*. '
      mode             = 'O'
      title            = ' '
    IMPORTING
      filename         = filename
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.
ENDFORM.                    "frm_getfilename
相关推荐
skilllite作者10 分钟前
Zed 1.0 编辑器深度评测与实战指南
开发语言·人工智能·windows·python·编辑器·agi
chxii26 分钟前
lua 基础语法(上)
开发语言·lua
wjs202427 分钟前
ASP 发送电子邮件
开发语言
li16709027033 分钟前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
lsx20240634 分钟前
DOM 改变节点
开发语言
时空系41 分钟前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
yuweiade44 分钟前
GO 快速升级Go版本
开发语言·redis·golang
lly2024061 小时前
SOAP Body 元素
开发语言
咸鱼2.03 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9179 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试