導出EXCEL 之 OLE

20.7.     OLE

CREATE OBJECT obj_name 'app'."創建APP應用類的一個對象obj_name實例
SET PROPERTY OF obj_name 'XXX' ."設置對象OBJ_NAME屬性xxx爲值f
GET PROPERTY OF obj_name 'xxx' ."將obj_name的屬性xxx的值獲取賦給f
CALL METHOD OF
    obj_name
    'xxx'    f  "由f來接收返回值
  EXPORTING
    #1       f1. "調用Obj_name的方法xxx 傳入參數f1…fn
FREE OBJECT obj_name"釋放obj_name.

 

*定義OLE變量
DATA:EXCEL TYPE OLE2_OBJECT,
     WORKBOOK TYPE OLE2_OBJECT,
     SHEET TYPE OLE2_OBJECT,
     CELL TYPE OLE2_OBJECT.

創建excel對象:

CREATE OBJECT EXCEL 'EXCEL.APPLICATION'.

SET PROPERTY OF EXCEL 'VISIBLE' 1."使excel可見

SET PROPERTY OF EXCEL 'SHEETSINNEWWORKBOOK' 1."設置 Microsoft Excel 軟件打開時,自動插入到新工作簿中的工作表數目(即初始sheet數目,默認名字依次爲 Sheet1、Sheet2.....)

創建workbook

CALL METHOD OF EXCEL 'WORKBOOKS' WORKBOOK.

"由於Workbooks同時爲屬性,所以可以使用下面語句代替上面語句
*GET PROPERTY OF EXCEL 'Workbooks' = WORKBOOK .
CALL METHOD OF WORKBOOK 'ADD'.

CALL METHOD OF WORKBOOK 'OPEN'EXPORTING #1 'c:\1.xlsx'."開文件

添加sheet

CALL METHOD OF EXCEL 'sheets' SHEET.
CALL METHOD OF SHEET 'Add'.

SET PROPERTY OF SHEET 'Name' 'aaa'."sheet重命名

切換sheet

CALL METHOD OF EXCEL 'Worksheets' SHEET EXPORTING #1 'sheet3'
CALL METHOD OF SHEET 'Activate'.

給單元格賦值:

CaLL METHOD OF EXCEL 'CELLS' CELL EXPORTING #1 2 #2 2.
SET  PROPERTY OF CELL 'value' =  xxxx.

執行宏:

CALL METHOD OF EXCEL 'RUN' EXPORTING #1 'ZMACRO2'.

保存和退出:

GET PROPERTY OF EXCEL 'ACTIVESHEET' SHEET."激活工作簿
GET PROPERTY OF EXCEL 'ACTIVEWORKBOOK' WORKBOOK."激活工作區
CALL METHOD OF WORKBOOK 'SAVEAS'EXPORTING #1 'c:\1.xls' #2 1. 
CALL METHOD OF WORKBOOK 'CLOSE'. "關閉工作區
CALL METHOD OF EXCEL 'QUIT'."退出excel

釋放資源:

FREE OBJECT SHEET.
FREE OBJECT WORKBOOK.
FREE OBJECT EXCEL.

20.7.1.           導出Exel文件多種方式

FM函數 SAP_CONVERT_TO_XLS_FORMAT:

優點是快速,簡單;缺點就是不能控制格式,導出的數據看起來不夠美觀,不能使用公式,宏等

OLE

這個方法使用對象OLE2_OBJECT,模擬手工來填寫EXCEL的內容,所以基本上可以實現Excel的絕大部分功能,諸如特殊格式、函數、宏、圖片等等

優點是功能強大,能做到用戶指定的格式;缺點是複雜,速度慢。

OLE + Excel模板:

這個方法是在純OLE的基礎上增加使用Excel模板,原理是通過在Excel模板裏面設定格式,公式等已知的內容,然後使用OLE去填充其它數據

優點是比純OLE速度要快;缺點還是速度慢,雖然比第二種方法有所提高,但是如果數據量比較大的時候,比如超過1000行,速度方面還是不盡如人意

OLE + Excel模板 + TXT

這個方法在方法3的基礎上增加使用TXT文本文件,原理是先將數據根據按照Excel行列準備好,導出到TXT文本文件中,然後在Excel模板中使用宏打開文本文件進行填充

優點是功能強,速度快;缺點是實現起來較爲複雜,且需要懂VBA

轉載:https://www.cnblogs.com/jiangzhengjun/p/4265604.html

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