SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)

SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)

ID:42619155

大小:355.30 KB

页数:16页

时间:2019-09-18

SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)_第1页
SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)_第2页
SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)_第3页
SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)_第4页
SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)_第5页
资源描述:

《SAP日记-ABAP导出EXCEL的两种方式(OLE_DOI)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SAP日记——ABAP导出EXCEL的两种方法提到OLE&DOI,我们不得不先说说两者这间的关系。  OLE是SAP早期与微软Office集成的工具,而DOI是它的替代技术。在实际项目中使用到OLE&DOI的场合多是EXCEL表格的读入或是填制。有些需要自动画表格及填数据,有的只是要求在原有的模版上填制数据。根据不同的场合可以选用不同的技术。(有些公司用EXCEL的打印来替代FORM)  下面主要讲一下,OLE&DOI关于EXCEL的处理。  OLE实际上是类EXCEL中VBA的一种写法。有一种简单的方法,就是你可以在EXCEL中把要实现的动作录制成宏,

2、然后根据宏的代码把它改成OLE。OLE同时也支持直接调用EXCEL宏程序(没有禁宏的前提下)。  DOI完全用类实现。特点是,你不用再去记那些繁琐的VBA语言了,DOI都给你包装成类的方法了。同时作为一个控件,已经集成在了SAP的GUI中了,你就可以在SAP的屏幕中写Office的东西了,不用再跳出一个窗口来了,减少一些误操作。当然DOI也是支持调用EXCEL宏程序的,前提是宏没有被禁。  两种方法在实际项目中都有使用,有时候就要看实施顾问擅长于那个了,当然本人还是推荐用新的,但也不要丢了老的(有时候要维护一些老程序或许用得着)。因为两种在技术上并没有什

3、么难点,只有熟练度的差别。我可记不住那么多的方法和类名,一般常备两份模版两份手册在身,边写边查,在项目进度之内完工就OK。  我读取EXCEL还是比较简单的,这里不再讲了。既然,EXCEL的填制有自动画表格和填制模版之分,而自动画表格,显然就是什么都要自己写,工程量比较大,需要大量的调试(字体、表格宽度、颜色等),没有什么捷径,捧着手册慢慢写吧!对于填制模版,那自然要将模版上传到服务器,程序执行的时候再下载使用。我使用的一般有3中:1.FTP2.T-codeSMW03.T-codeOAOR  FTP顾名思义,就是把文件传到FTP上,然后在运行的时候,直接

4、输入文件服务器的路径,把模版在本地打开填制。  T-codeSMW0。实际上这是用于Web的一种文件存储,不过我们也可以借用来存储模版。当然建立之前要维护相应的MIMEtypes(先把文件的类型要注册),方可上传此类型的文件。一、OLEABAP通过OLE的方式导出EXCEL,由于数据时一条一条的生成,速度较慢,不适合内表数据较多的场景使用,但是其实现起来比较简单。REPORT  ZTEST1.TABLES: ZWYM.“自定义的一张表TYPE-POOLS:SLIS,ole2.“需要用到OLE2DATA: excel     TYPE ole2_objec

5、t,      workbook  TYPE ole2_object,      sheet     TYPE ole2_object,      cell      TYPE ole2_object.DATA: application TYPE ole2_object,      book        TYPE ole2_object,      books       TYPE ole2_object.DATA: ole_book    TYPE ole2_object.DATA: FILENAME(100)  TYPE C VALUE 'D:d

6、atatest.xls'.“定义文件导出的路径"DATA: GT_ITAB LIKE TABLE OF ZWYM WITH HEADER LINE.DATA:BEGIN OF GT_ITAB OCCURS 0,“定义内表  INCLUDE STRUCTURE ZWYM.     END OF GT_ITAB.SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.“查询条件  SELECT-OPTIONS:S_MATNR FOR ZWYM-MATNR.SELECTION-SCREEN:E

7、ND OF BLOCK B1.START-OF-SELECTION.  PERFORM GET_DATA.END-OF-SELECTION. PERFORM gen_excel.FORM GET_DATA.  SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ITAB FROM ZWYM WHERE MATNR IN S_MATNR.ENDFORM.“GET_DATA.FORM gen_excel.  CREATE OBJECT excel 'EXCEL.APPLICATION'. IF sy-subrc NE

8、 0 .    MESSAGE '不能生成EXCEL对象,检查系统是否安装 MS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。