Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3398799
  • 博文数量: 1575
  • 博客积分: 19423
  • 博客等级: 上将
  • 技术积分: 16102
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-19 21:36
个人简介

专注专心

文章分类

全部博文(1575)

文章存档

2020年(10)

2018年(7)

2016年(6)

2015年(21)

2014年(32)

2013年(279)

2012年(516)

2011年(309)

2010年(260)

2009年(92)

2008年(15)

2007年(28)

我的朋友

分类: IT职场

2011-12-22 07:17:50

ABAP操作Excel表
2008年06月16日 星期一 14:22
tables KNA1. 
INCLUDE OLE2INCL. 
DATA: APPLICATION TYPE OLE2_OBJECT, 
WORKBOOK TYPE OLE2_OBJECT, 
SHEET TYPE OLE2_OBJECT, 
CELLS TYPE OLE2_OBJECT. 

data vfile(128) value 'c:\test123.xls'. 

data : begin of t_kna1 occurs 0 , 
kunnr like kna1-kunnr, 
name1 like kna1-name1, 
name2 like kna1-name2, 
end of t_kna1. 

CREATE OBJECT APPLICATION 'Excel.application'. 

SET PROPERTY OF APPLICATION 'Visible' = 0. 
* 1 display 
* 宣告一EXCEL工作底槁档(WORKBOOK) 
CALL METHOD OF APPLICATION 'Workbooks' = WORKBOOK. 
* 增加一新的工作表(SHEET),编号是 1 号 
CALL METHOD OF WORKBOOK 'Add'. 
CALL METHOD OF APPLICATION 'Worksheets' = SHEET 
EXPORTING #1 = 1. 
* 设定此工作表开启使用 
CALL METHOD OF SHEET 'Activate'. 

PERFORM FILL_SHEET. 

SET PROPERTY OF APPLICATION 'DisplayAlerts' = 'false'. 

CALL METHOD OF SHEET 'SAVEAS' 
EXPORTING 
#1 = vfile 
#2 = 1. 
SET PROPERTY OF APPLICATION 'Visible' = 1. 
*CALL METHOD OF APPLICATION 'QUIT'. 
*CALL METHOD OF APPLICATION 'EXIT'. 

****关闭WORKSHEET**** 
CALL METHOD OF SHEET 'CLOSE'. 
****关闭WORKBOOK 
CALL METHOD OF WORKBOOK 'CLOSE'. 
****关闭EXCEL对象**** 
CALL METHOD OF APPLICATION 'QUIT'. 

FREE OBJECT CELLS. 
FREE OBJECT SHEET. 
FREE OBJECT WORKBOOK. 
FREE OBJECT APPLICATION. 
*SET PROPERTY OF APPLICATION 'Visible' = 1. 
*---------------------------------------------------------------------------------------------------------------- 
FORM FILL_SHEET. 
DATA: ROW_MAX TYPE I VALUE 256, 
ROWS TYPE I VALUE 1, 
INDEX TYPE I, 
pv_row TYPE I VALUE 1, 
pv_col TYPE I VALUE 1. 
FIELD-SYMBOLS: . 
SELECT kunnr name1 name2 into t_kna1 
FROM KNA1 
UP TO 100 ROWS BYPASSING BUFFER. 
append t_kna1. 
endselect. 
* ROWS = ROWS + 1. "至第ROWS列 
* INDEX = ROW_MAX * ( ROWS - 1 ) + 1. 
loop at t_kna1. 
CALL METHOD OF sheet 'Cells' = CELLS 
EXPORTING 
#1 = pv_row 
#2 = 1. 
SET PROPERTY OF CELLS 'Value' = t_KNA1-KUNNR. 
CALL METHOD OF sheet 'Cells' = CELLS 
EXPORTING 
#1 = pv_row 
#2 = 2. 
SET PROPERTY OF CELLS 'Value' = t_KNA1-NAME1. 
pv_row = pv_row + 1. 
endloop. 
* DO 10 TIMES. "如要每一列放入10个存格的数据 
* ASSIGN COMPONENT SY-INDEX OF STRUCTURE KNA1 
* TO . 
* CALL METHOD OF SHEET 'Cells' = CELLS 
* EXPORTING #1 = INDEX. 
* SET PROPERTY OF CELLS 'Value' = . 
* ADD 1 TO INDEX. 
* ENDDO. 

ENDFORM.

阅读(995) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~