SAP 内表数据导出到EXCEL的几种方法示例

SAP 内表数据导出到EXCEL的几种方法

  • 方法一:函数GUI_DOWNLOAD
    • 1. 代码
    • 2. 由于导出的格式为DAT,打开EXCEL会提示文件损坏,确认打开即可
    • 3. 输出结果
  • 方法二:函数SAP_CONVERT_TO_XLS_FORMAT
    • 1. 代码
    • 2. 上面的方法输出内容可能出现以下错误;可按照后面步骤进行修正(和SE16N输出对比)
    • 3. 设置金额字段单元格类型为数值类型 2位小数,设置日期类型为文本类型,然后清空EXCEL文档内容并保存
    • 4. SMW0上传EXCEL模板
    • 5. 更新代码
    • 6. 修改后运行结果
  • 方法三:OLE
    • 1. OLE方法此处不再赘述,可自行百度用法
  • 方法四:abap2xlsx
    • 1. 安装SAPlink
    • 2. 安装ABAPXLSX
    • 3. ABAP2XLSX输出EXCEL方法,后续在博客中其他文章更新

方法一:函数GUI_DOWNLOAD

1. 代码

DATA: lt_itab TYPE TABLE OF sflight.

TYPES: BEGIN OF ty_fieldname,
      name TYPE char20,
      END OF ty_fieldname.

DATA: lt_fieldname TYPE TABLE OF ty_fieldname WITH HEADER LINE.

 SELECT * FROM sflight INTO TABLE lt_itab UP TO 30 ROWS.

 PERFORM frm_set_fieldname USING'Client'.
 PERFORM frm_set_fieldname USING'航线代码'.
 PERFORM frm_set_fieldname USING'航班连接编号'.
 PERFORM frm_set_fieldname USING'航班日期'.
 PERFORM frm_set_fieldname USING'航空运费'.
 PERFORM frm_set_fieldname USING'航班的本地货币 '.
 PERFORM frm_set_fieldname USING'飞机类型'.
 PERFORM frm_set_fieldname USING'经济舱的最大容量 '.
 PERFORM frm_set_fieldname USING'占据的经济舱座位'.
 PERFORM frm_set_fieldname USING'当前预定总数'.
 PERFORM frm_set_fieldname USING'商务舱的最大容量 '.
 PERFORM frm_set_fieldname USING'占据的商务舱座位'.
 PERFORM frm_set_fieldname USING'头等舱的最大容量 '.
 PERFORM frm_set_fieldname USING'占据的头等舱座位'.

 CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
*   BIN_FILESIZE                    =
    FILENAME                        = 'C:\Users\Administrator\Desktop\123.xls'
    FILETYPE                        = 'DAT' "ASC格式 1000- 不会显示为 -1000 DBF格式 字符前空格 前导0不会显示
*   APPEND                          = ' '
*   WRITE_FIELD_SEPARATOR           = ' '
*   HEADER                          = '00'
*   TRUNC_TRAILING_BLANKS 

你可能感兴趣的:(ABAP开发,ABAP,实用程序记录,sap,abap)