abap-ole save to excel.

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.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9333231/viewspace-376661/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9333231/viewspace-376661/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值