Chinaunix首页 | 论坛 | 博客
  • 博客访问: 197302
  • 博文数量: 98
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 1955
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 15:01
文章分类

全部博文(98)

文章存档

2012年(1)

2011年(1)

2009年(95)

2008年(1)

我的朋友

分类: IT职场

2009-03-12 16:18:19

  REPORT Z_EXPORT_EXCEL.

INCLUDE OLE2INCL.

DATA: APPLICATION TYPE OLE2_OBJECT,
      WORKBOOK    TYPE OLE2_OBJECT,
      SHEET       TYPE OLE2_OBJECT,
      CELLS       TYPE OLE2_OBJECT.

CONSTANTS: ROW_MAX TYPE I VALUE 256.

DATA INDEX TYPE I.

DATABEGIN OF ITAB OCCURS 0,
        FIRST_NAME(10),
        LAST_NAME(10),
        ADDRESS(100),
      END OF ITAB.

START-OF-SELECTION.

  "Add data to itab

  ITAB-FIRST_NAME = '123445'.
  ITAB-LAST_NAME = 'tesst'.
  ITAB-ADDRESS = '中國'.
  APPEND ITAB.
  CLEAR ITAB.

  ITAB-FIRST_NAME = 'ABCDE'.
  ITAB-LAST_NAME = 'tessasdfasdft'.
  ITAB-ADDRESS = '中國中山'.
  APPEND ITAB.
  CLEAR ITAB.

  ITAB-FIRST_NAME = '123456'.
  ITAB-LAST_NAME = 'tessasdfasdft'.
  ITAB-ADDRESS = '中國中山'.
  APPEND ITAB.
  CLEAR ITAB.


  CREATE OBJECT APPLICATION 'excel.application'.
  SET PROPERTY OF APPLICATION 'visible' = 1.
  CALL METHOD OF APPLICATION 'Workbooks' = WORKBOOK.
  CALL METHOD OF WORKBOOK 'Add'.


  CALL METHOD OF APPLICATION 'Worksheets' = SHEET
    EXPORTING
          #1 = 1.

  CALL METHOD OF SHEET 'Activate'.
  SET PROPERTY OF SHEET 'Name' = 'Sheet1'.

  "写标题
  INDEX = 1" 1 - column name
  CALL METHOD OF SHEET 'Cells' = CELLS
    EXPORTING
         #1 = INDEX.
  
  SET PROPERTY OF CELLS 'Value' = 'Field1'.

  INDEX = INDEX + 1" 1 - column name
  CALL METHOD OF SHEET 'Cells' = CELLS
    EXPORTING
          #1 = INDEX.
  SET PROPERTY OF CELLS 'Value' = 'Field2'.

  INDEX = INDEX + 1" 1 - column name
  CALL METHOD OF SHEET 'Cells' = CELLS
    EXPORTING
          #1 = INDEX.
  SET PROPERTY OF CELLS 'Value' = 'Field3'.

  "写数据
  LOOP AT ITAB.
    INDEX = ROW_MAX * SY-TABIX + 1" 1 - column name
    CALL METHOD OF SHEET 'Cells' = CELLS
      EXPORTING
           #1 = INDEX.
    SET PROPERTY OF CELLS 'Value' = ITAB-FIRST_NAME.

    INDEX = INDEX + 1" 1 - column name
    CALL METHOD OF SHEET 'Cells' = CELLS
      EXPORTING
           #1 = INDEX.
    SET PROPERTY OF CELLS 'Value' = ITAB-LAST_NAME.

    INDEX = INDEX + 1" 1 - column name
    CALL METHOD OF SHEET 'Cells' = CELLS
      EXPORTING
           #1 = INDEX.
    SET PROPERTY OF CELLS 'Value' = ITAB-ADDRESS.
  ENDLOOP.


* 保存文件
  CALL METHOD OF SHEET 'SaveAs'
    EXPORTING
           #1 = 'c:tempexceldoc1.xls' "filename
           #2 = 1"fileFormat
阅读(546) | 评论(0) | 转发(1) |
0

上一篇:ABAP算术表达式

下一篇:ALV 宏实现

给主人留下些什么吧!~~