OLE读取EXCEL内容

  DATA: MYEXCEL    TYPE OLE2_OBJECT,
        MYSHEET    TYPE OLE2_OBJECT,
        MYCELL     TYPE OLE2_OBJECT,
        MYROW     TYPE OLE2_OBJECT,
        MYWORKBOOK TYPE OLE2_OBJECT,
        MYRANGE    TYPE OLE2_OBJECT.
  DATA:
    LD_RC             TYPE I,
    RS(30)                   TYPE c.
  "打开excel应用
  CREATE OBJECT MYEXCEL 'EXCEL.APPLICATION'.

  "获取工作簿
  CALL METHOD OF MYEXCEL 'WORKBOOKS' = MYWORKBOOK.

  "打开工作簿
  CALL METHOD OF MYWORKBOOK 'OPEN'
    EXPORTING
      #1 = 'C:\Users\Desktop\A.xlsx'.

  "设置活动的工作簿
  GET PROPERTY OF MYEXCEL 'ACTIVEWORKBOOK' = MYWORKBOOK.

*--------------------------------------------------------------------*BEGIN 250909
*读取固定页签的具体行的数据

*设置活动的SHEET页
*  CALL METHOD OF MYWORKBOOK 'WORKSHEETS' = MYSHEET
*    EXPORTING
*    #1 = 2.
"*设置活动的SHEET页
  CALL METHOD OF MYEXCEL 'WORKSHEETS' = MYSHEET
    EXPORTING
    #1 = 2.
  CALL METHOD OF MYSHEET 'ACTIVATE'.
*读取范围单元格
*  CALL METHOD OF MYSHEET 'RANGE' = MYRANGE
*      EXPORTING #1 = 'A6:C6'."A6:读取特定单元格
*  DO 2 TIMES.
*    DO  2 TIMES.
*      CALL METHOD OF MYRANGE 'CELLS' = MYCELL
*          EXPORTING #1 = '1'    "ROW
*            #2 = sy-index.      "COL
*      GET PROPERTY OF MYCELL 'VALUE' = RS.
*    ENDDO.
*  ENDDO.

  CALL METHOD OF MYSHEET 'ROWS' = MYROW
      EXPORTING #1 = '6'."A6:读取特定行
  DO 3 TIMES.
      CALL METHOD OF MYROW 'CELLS' = MYCELL
          EXPORTING #1 = '1'    "ROW
            #2 = sy-index.      "COL
      GET PROPERTY OF MYCELL 'VALUE' = RS.
  ENDDO.

*读取特定单元格
*  CALL METHOD OF MYSHEET 'CELLS' = MYCELL
*      EXPORTING #1 = '6'    "ROW
*        #2 = 'A'.      "COL
*  GET PROPERTY OF MYCELL 'VALUE' = RS.
*--------------------------------------------------------------------*END 250909
  CALL METHOD OF MYWORKBOOK 'CLOSE' EXPORTING #1 = 0."不保存
  CALL METHOD OF MYEXCEL 'QUIT'.
  FREE OBJECT MYSHEET.
  FREE OBJECT MYWORKBOOK.
  FREE OBJECT MYEXCEL.
  WRITE:/ 'RS:' && RS.

 

posted @ 2025-09-10 09:12  kang09  阅读(6)  评论(0)    收藏  举报