1.create object  obj

  CREATE OBJECT EXCEL 'Excel.Application'.

这个obj通常指能够支持的应用程序

应用程序首先要满足OLE2的标准

同时还要注册到R/3系统

维护的程序信息在table: tole中可以看到

tole有个视图v_tole  可以使用tcode : sole来编辑

2.Workbook

  CALL METHOD OF EXCEL 'WORKBOOKS' = BOOKS.

a.读取现有的excel

  CALL METHOD OF BOOKS 'Open' EXPORTING #1 = p_file.

b.新建excel

  CALL METHOD OF BOOKS 'Add' .

3.Sheets

a.设置sheets的数量

  SET PROPERTY OF excel 'SheetsInNewWorkbook' = 3.

b.切换到某个sheet

  CALL METHOD OF excel 'Worksheets' = sheet EXPORTING #1 = 1.
  CALL METHOD OF sheet 'Activate'.

这个active的方法一定要调用 才能确定使用某一个sheet

c.设定名称

  SET PROPERTY OF excel 'Name' = p_sheetname.

4.合并单元格

a.确定范围

  CALL METHOD OF excel 'RANGE' = range
       EXPORTING #1 = 'A2'
                 #2 = 'E3' .

b.范围选中

  CALL METHOD OF range 'SELECT' .

c.合并单元格

  SET PROPERTY OF range 'MERGE' = 1 .

5.删除行

  CALL METHOD OF excel 'ROWS' = row
                         Exporting #1 = 2.

  CALL METHOD OF row 'DELETE'.

6.单元格着色

CALL METHOD OF excel 'cells' = cell
        EXPORTING
          #1 = 1
          #2 = 3.
GET PROPERTY OF cell 'Interior' = color.
SET PROPERTY OF color 'ColorIndex' = 35.

 

PS:

1.  GET PROPERTY OF EXCEL 'ACTIVESHEET' = SHEET.

  GET PROPERTY OF EXCEL 'ACTIVEWORKBOOK' = BOOKS.
退出时要加上这两句

否则导不出excel

 

2.关于范围range 

使用后要free掉

才能使用下一个范围

 

3.关于quit 和 free

quit是给OLE Server的

即相当于告诉excel程序退出

free是abap程序里面的object

 

4.关于使用文件操作等

例如需要指定下载到桌面

和控件相关的automation queue

注意调用cl_gui_cfw=>flush

 

5.OLE的操作也可以指定no flush

节省server 和 client 的交互

一次性传输所有的OLE操作

 

附代码:

report z_excel_demo.
type-pools: OLE2 . DATA: excel TYPE ole2_object, " Excel object
books TYPE ole2_object, " list of workbooks
sheet TYPE ole2_object, " workbook
cell TYPE ole2_object, " cell
row TYPE ole2_object, " cell
borders TYPE ole2_object, " cell
color TYPE ole2_object, " cell
range TYPE ole2_object. " cell
data: l_desktop type string. CREATE OBJECT EXCEL 'Excel.Application'. SET PROPERTY OF excel 'Visible' = 0.
SET PROPERTY OF excel 'SheetsInNewWorkbook' = 3. CALL METHOD OF EXCEL 'WORKBOOKS' = BOOKS. CALL METHOD OF BOOKS 'Add' .
* CALL METHOD OF BOOKS 'Open' EXPORTING #1 = p_file. CALL METHOD OF excel 'Worksheets' = sheet EXPORTING #1 = 1.
CALL METHOD OF sheet 'Activate'.
perform filling.
perform addition. CALL METHOD OF excel 'Worksheets' = sheet EXPORTING #1 = 2.
CALL METHOD OF sheet 'Activate'.
perform filling. GET PROPERTY OF EXCEL 'ACTIVESHEET' = SHEET.
GET PROPERTY OF EXCEL 'ACTIVEWORKBOOK' = BOOKS. * "默认导出到桌面 perform get_desktop using l_desktop. CONCATENATE l_desktop '\EXCEL_DEMO' '.xls' INTO l_desktop. call method of BOOKS 'SAVEAS'
EXPORTING
#1 = l_desktop
#2 = 1. call method of books 'CLOSE'.
call method of excel 'QUIT'. FREE OBJECT EXCEL.
message s888(sapaapdocu) with '成功导出模板:' l_desktop. form filling.
PERFORM fill_cell USING :
1 1 'Field1',
1 2 'Field2'. endform. form addition.
"合并单元格
CALL METHOD OF excel 'RANGE' = range EXPORTING #1 = 'A2' #2 = 'E3' . * 删除行
* CALL METHOD OF excel 'ROWS' = row
* Exporting #1 = 2.
* CALL METHOD OF row 'DELETE'. CALL METHOD OF range 'SELECT' . SET PROPERTY OF range 'MERGE' = 1 . free range. CALL METHOD OF excel 'RANGE' = range EXPORTING #1 = 'A5' #2 = 'M5'. CALL METHOD OF range 'Borders' = borders EXPORTING #1 = 8. SET PROPERTY OF borders 'LineStyle' = 1. CALL METHOD OF excel 'cells' = cell EXPORTING #1 = 1 #2 = 3. GET PROPERTY OF cell 'Interior' = color. SET PROPERTY OF color 'ColorIndex' = 35. SET PROPERTY OF cell 'ColumnWidth' = 20.
endform.
*-------------------------------------------------------*
* 默认导出模板到桌面
*-------------------------------------------------------*
form get_desktop using p_desktop type string .
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_DESKTOP_DIRECTORY
changing
DESKTOP_DIRECTORY = p_desktop . CALL METHOD CL_GUI_CFW=>UPDATE_VIEW.
endform. FORM fill_cell USING p_i p_j p_val. CALL METHOD OF excel 'CELLS' = cell EXPORTING #1 = p_i #2 = p_j.
SET PROPERTY OF cell 'VALUE' = p_val. ENDFORM.

OLE-Excel基本操作的更多相关文章

  1. python3 excel基本操作及格式设置

    #encoding=utf-8 ''' excel基本操作整理 ''' #openpyxl 版本2.5.4 from openpyxl import * import datetime as dt f ...

  2. python excel基本操作

    #coding=utf-8 ''' excel基本操作 ''' from openpyxl import Workbook wb=Workbook() ws1=wb.create_sheet('sh1 ...

  3. Excel基本操作1

    Excel的基本操作之二,录入及快速填充.不足之处,欢迎补充

  4. C#操作Excel基本操作

    /// using Microsoft.Office.Core; using Microsoft.Office.Interop.Excel; using System.IO; using System ...

  5. Excel基本操作

    一.excel公式下拉 1.选择最长一列excel ,按CTRL+↓移到最后一个单元格,2光标移到下拉公式的那一列,3.再按CTRL+SHIFT+↑,4.再按CTRL+D 二.输入身份证号等长数字 方 ...

  6. MFC 简单输出EXCEL - (OLE)

    三图胜千言: 就是酱紫: //打印领料表 void CKnifeDlgDlg::PrintCurUsedTabel(int order) { // TODO: Add your command han ...

  7. Qt之excel 操作使用说明

    学习背景: 适合熟悉些qt开发,但是不是深入了解的开发者学习.具体实现(qt 5.1版本),office2007 Excel做验证,Win 7(64位),如有讲解有误,欢迎斧正! 一.简单介绍 QAx ...

  8. [SAP ABAP开发技术总结]OLE

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. Qt-excel文件操作方法

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt-excel文件操作方法     本文地址:http://techieliang.com/ ...

  10. python之openpyxl模块

    一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...

随机推荐

  1. 了解javascript中的this --实例篇

    对javascript this的赋值有了深一层的理解后,看一下比较复杂的情况,this的应用篇参考<对javascript this的理解>. #demo1 var name=" ...

  2. 第十二天--Property List和NSUserDefaults

    转自:http://appleparty.diandian.com/post/2012-05-24/9098104219 Property List  (属性表) 定义:Property List文件 ...

  3. 引入第三方库错误Undefined symbols for architecture i386: _OBJC_CLASS_$的解决方案

    引起标题上所导致的错误是因为你的第三方库没有放入到Compile Sources里面去. 需要到你项目的Targets>>Build Phases>>Compile Sourc ...

  4. ORB:新一代 Linux 应用

    Orbital Apps 给我们带来了一种新的软件包类型 ORB,它具有便携软件.交互式安装向导支持,以及离线使用的能力. 便携软件很方便.主要是因为它们能够无需任何管理员权限直接运行,也能够带着所有 ...

  5. fir.im Weekly - 2016 移动开发技术大回顾

    2016 年是移动技术发展迅速的一年,认认真真回顾这一年必不可少.@移动开发前线 的 这篇 2016移动开发技术巡礼 ,精心盘点了 2016 年 移动开发技术大事件,分为 iOS/Android平台篇 ...

  6. GNU-ARM汇编

    GNU ARM 汇编指令(2008-10-29 00:16:10) 标签:linux gnu arm 汇编指令 it 分类:技术文摘 第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C+ ...

  7. PHP7安装问题解决

    ext/standard/info.o: In function `php_info_print_request_uri’: /root/php-5.4.16/ext/standard/info.c: ...

  8. jQuery显示和隐藏 常用的状态判断方法

    显示:show()  display:block; 隐藏:hide()   display:none; 当显示和隐藏切换的时候,需要判断此刻是显示还是隐藏,那判断条件常用以下几种方法: 1.if(th ...

  9. Mybank

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. IOS webView快照

    这个功能就是对网页的存储,存储成png格式的图片 且不失真 很棒的一个小方法.具体实现如下: - (void)webViewDidFinishLoad:(UIWebView *)webView1 { ...