本代码是通过OLE技术操作EXCEL,将SAP的数据填写到本地EXCEL中,Office运行在SAP的GUI界面外,注意红色代码。
REPORT ZRSDEMO01 NO STANDARD PAGE HEADING.
* this report demonstrates how to send some ABAP data to an
* EXCEL sheet using OLE automation.
*必须包含
INCLUDE OLE2INCL.
* handles for OLE objects
*申明相关的OFFICE的OLE对象
DATA: H_EXCEL TYPE OLE2_OBJECT, " Excel object
H_MAPL TYPE OLE2_OBJECT, " list of workbooks
H_MAP TYPE OLE2_OBJECT, " workbook
H_ZL TYPE OLE2_OBJECT, " cell
H_F TYPE OLE2_OBJECT. " font
TABLES: SPFLI.
DATA H TYPE I.
* table of flights
DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
*&---------------------------------------------------------------------*
*& Event START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
* read flights
SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-007
EXCEPTIONS
OTHERS = 1.
* start Excel(创建对象)
CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
PERFORM ERR_HDL.
*设置office对象是否显示
SET PROPERTY OF H_EXCEL 'Visible' = 1.
PERFORM ERR_HDL.
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-008
EXCEPTIONS
OTHERS = 1.
* get list of workbooks, initially empty
CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
PERFORM ERR_HDL.
* add a new workbook
CALL METHOD OF H_MAPL 'Add' = H_MAP.
PERFORM ERR_HDL.
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-009
EXCEPTIONS
OTHERS = 1.
* output column headings to active Excel sheet
PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
PERFORM FILL_CELL USING 1 2 1 'Nr'(002).
PERFORM FILL_CELL USING 1 3 1 'Von'(003).
PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
LOOP AT IT_SPFLI.
* copy flights to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
ENDLOOP.
* disconnect from Excel
*
CALL METHOD OF H_EXCEL 'QUIT'.
FREE OBJECT H_EXCEL.
PERFORM ERR_HDL.
*---------------------------------------------------------------------*
* FORM FILL_CELL *
*---------------------------------------------------------------------*
* sets cell at coordinates i,j to value val boldtype bold *
*---------------------------------------------------------------------*
FORM FILL_CELL USING I J BOLD VAL.
*get cell
CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.
PERFORM ERR_HDL.
*set cell value
SET PROPERTY OF H_ZL 'Value' = VAL .
PERFORM ERR_HDL.
*Get cell font
GET PROPERTY OF H_ZL 'Font' = H_F.
PERFORM ERR_HDL.
*set cell font
SET PROPERTY OF H_F 'Bold' = BOLD .
PERFORM ERR_HDL.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form ERR_HDL
*&---------------------------------------------------------------------*
* outputs OLE error if any *
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ERR_HDL.
IF SY-SUBRC <> 0.
WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.
STOP.
ENDIF.
ENDFORM. " ERR_HDL
原文地址:http://blog.csdn.net/compassbutton/archive/2007/10/20/1833898.aspx
分享到:
相关推荐
操作word和excel文件,实现文件的读写
OLE(Object Linking and Embedding,对象链接与嵌入)使VB应用程序可以访问Windows环境中其他应用程序的对象,例如Word文档、Excel工作表等,这类对象称为OLE对象。VB能够访问的OLE对象取决于用户系统所安装的...
2012,我的C#全能Excel操作(无需Office,不使用XML) 有时候,Excel操作会成为我们程序员的痛处。 COM的方式处理?杀进程?需要安装Office? No,nononono!这些都不想了。 我只要OleDb就够用了。 读取内容产生...
WORD是最常用的office 软件,本文讨论了在vc中控制word的方法,ole自动化一篇很好的文章,读了之后就会掌握这个技术
本文实例讲述了C#使用oledb操作excel文件的方法。分享给大家供大家参考。具体分析如下: 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel 说明:利用Office 的Excel组件来...
能够通过此文件实现对office2010,office2013,office2016的连接
我们在程序中处理Office文档的时候,常用的方法是OLE。在此提供了一个不依赖于OLE的对Excel操作的类。经测试在各个版本的vc和Borland C++下都能使用。兼容windows 系列下office 97 到office 2007所有版本的Excel文档...
Open Office Calc文档 CSV文件以及其他可以自动识别分隔符、小数分隔符和文本引用字符的文本文件 HTML表格(标签) 数据库 导出数据为… CSV文件 HTML文件 其他 自动过滤 单元验证 有条件的格式 合并单元 ...
Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和...
其次,将窗体保存到文本文件当中,将这些文本文件储存到OLE字段当中。这样一来,窗体自身的界面以及相对应的代码都能够完整的保存到Accez数据表当中。 二、Powerpoint2022幻灯片的操作技巧 Powerpoint2022幻灯片是...
HPSF:用于提取MS-Office文件的属性集。 HWPF:用于读取和写入MS-Word的.doc扩展文件。 XWPF(XML字处理器格式):用于读取和写入MS-Word的扩展文件 .docx 。 HSLF:用于阅读,创建和编辑PowerPoint演示文稿。 HDGF...
Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和...
NPOI是一个开源项目,可以读/写xls、doc、ppt文件,有着广泛的应用。它构建在POI 3.x版本之上,可以在没有安装Office的情况下对Word/Excel文档进行读写操作。NPOI有着强大的导入和导出功能,尤其是支持OLE2文档结构...
Apache POI项目的任务是创建和维护Java API,以便根据Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)操作各种文件格式。简而言之,您可以使用Java读写MS Excel文件。此外,您还可以使用Java...
通过OLE对Excel的读写操作,下载后看头文件即可调用,本DLL在windows10 Office2016下使用VS2015编译且可正常读写Excel文件,其它版本的Excel调用上有某些细节上的不同,请自行更改。
NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。...NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。
NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。NPOI之所以强大,并不是因为它支持导出Excel,而是因为它支持导入Excel,并能"理解"OLE2文档结构,这也是其他一些...
3、支持对文档进行查找替换、修订、字数统计、拼写检查等操作 4、编辑模式下支持文档编辑,文字、段落、对象属性设置,插入图片等功能 5、阅读模式下支持文档页面放大、缩小,调节屏幕亮度,增减字号等功能 6、...
NPOI.Examples Excel、WORD读写NPOI 是 POI 项目的 .NET ...POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。
Microsoft Office Object描述、定义、说明,以及编程范例,对VBA、VBScript、Jscript、Visual Basic,C/C++、C#,Delphi等OLE编程调用Excel操作有非常好的帮助作用。win7以上下载了打开不显示记得点击文件属性,解除...