[SAP ABAP開發技術總結]OLE


 

20.7.     OLE

CREATE OBJECT obj_name 'app'."創建APP應用類的一個對象obj_name實例
SET PROPERTY OF obj_name 'XXX' = f ."設置對象OBJ_NAME屬性xxx為值f
GET PROPERTY OF obj_name 'xxx' = f ."obj_name的屬性xxx的值獲取賦給f
CALL METHOD OF
    obj_name
   
'xxx'    = "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數目,默認名字依次為 Sheet1Sheet2.....

創建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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM