SAP ABAP如何將內表的數據導出到EXCEL

作者: SAP道長


將內表的數據導出到EXCEL

REPORT  ZTEST08.

DATABEGIN OF MY_DATA,
        MANDT  LIKE USR02-MANDT,
        BNAME  LIKE USR02-BNAME,
        ERDAT  LIKE USR02-ERDAT,
        LTIME  LIKE USR02-LTIME,
      END OF MY_DATA.

DATAIT_DATA LIKE MY_DATA OCCURS 0.

SELECT USR02~MANDT USR02~BNAME USR02~ERDAT USR02~LTIME
APPENDING TABLE IT_DATA
FROM USR02
  UP to 100 rows.

*排序
SORT IT_DATA BY BNAME.

 

INCLUDE OLE2INCL"定義OLE變量

DATAEXCEL    TYPE OLE2_OBJECT,
      SHEET    TYPE OLE2_OBJECT,
      CELL     TYPE OLE2_OBJECT,
      WORKBOOK TYPE OLE2_OBJECT,

      XLSNAME  TYPE STRING VALUE 'C:\sap_usr02.xls',
      LINE     TYPE VALUE 0"行號

CREATE OBJECT EXCEL 'EXCEL.APPLICATION'."啓動Excel

IF SY-SUBRC NE 0.
  WRITE'啓動Excel失敗。'.
  STOP.
ENDIF.

CALL METHOD  OF EXCEL 'WORKBOOKS' WORKBOOK.
SET PROPERTY OF EXCEL 'VISIBLE'   1.       "使excel 可視

SET  PROPERTY OF EXCEL    'SHEETSINNEWWORKBOOK' 1.        "如果是讀取excel文件中的內容 則是直接打開工作簿第一頁
CALL METHOD   OF WORKBOOK 'ADD'.                            "例如:CALL METHOD OF EXCEL 'WORKSHEETS'  = SHEET  EXPORTING #1 = 1.

LOOP AT IT_DATA INTO MY_DATA.
  LINE LINE 1.   "Excel 中行號從1開始

  CALL METHOD   OF EXCEL 'CELLS' CELL EXPORTING #1 LINE #2 1"指定單元格,
  SET  PROPERTY OF CELL  'VALUE' MY_DATA-MANDT.                   "寫入值

  CALL METHOD   OF EXCEL 'CELLS' CELL EXPORTING #1 LINE #2 2"指定單元格,
  SET  PROPERTY OF CELL  'VALUE' MY_DATA-BNAME.                   "寫入值

  CALL METHOD   OF EXCEL 'CELLS' CELL EXPORTING #1 LINE #2 3"指定單元格,
  SET  PROPERTY OF CELL  'VALUE' MY_DATA-ERDAT.                   "寫入值

  CALL METHOD   OF EXCEL 'CELLS' CELL EXPORTING #1 LINE #2 4"指定單元格,
  SET  PROPERTY OF CELL  'VALUE' MY_DATA-LTIME.                   "寫入值

ENDLOOP.

GET PROPERTY OF EXCEL    'ACTIVESHEET'         SHEET.          "激活工作簿
GET PROPERTY OF EXCEL    'ACTIVEWORKBOOK'      WORKBOOK.       "激活工作區

CALL METHOD  OF WORKBOOK 'SAVEAS' EXPORTING #1 XLSNAME #2 1"將excel文件保存
CALL METHOD  OF WORKBOOK 'CLOSE'.                                "關閉工作區
CALL METHOD  OF EXCEL    'QUIT'.                                 "退出excel

*WRITE:/ XLSNAME,'DONE'.                                          "退出成功,輸出done

FREE OBJECT SHEET.                                               "釋放操作
FREE OBJECT WORKBOOK.
FREE OBJECT EXCEL.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章