关闭

通过 OLE 上传资料

342人阅读 评论(0) 收藏 举报
分类:
通过 ALSM_EXCEL_TO_INTERNAL_TABLE 上传Excle中资料有个限制就是单个字段的大小最大为50个字符。 
所以对于有些备注类的就不行了, 用下面的方式, 就没这个限制了。
*&---------------------------------------------------------------------*
*& Report  Z_AF_088
*&
*&---------------------------------------------------------------------*
REPORT  z_af_088
        LINE-COUNT 10
        LINE-SIZE  1000.

INCLUDE ole2incl.
*定义OLE变量
DATA:excel TYPE ole2_object,
     sheet TYPE ole2_object,
     cell TYPE ole2_object,
     workbook TYPE ole2_object.

DATABEGIN OF itab OCCURS 0,
  a(224),
  b(224),
  c(224),
  d(224),
END OF itab.

DATA:val1(224TYPE c.
DATAr1 TYPE i,
      r2 TYPE i.
DATAcnt TYPE i.
*输入文件名参数
PARAMETERS:fn1 LIKE rlgrap-filename MEMORY ID m01.

START-OF-SELECTION.
  PERFORM upload_from_pc USING fn1.

  DESCRIBE TABLE itab LINES cnt.
  WRITEcnt.
  LOOP AT itab.
    WRITEitab-a.
    WRITE  itab-b.
    WRITE  itab-c.
    WRITE  itab-d.
  ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  UPLOAD_FROM_PC
*&---------------------------------------------------------------------*
FORM upload_from_pc  USING    p_path.
  FIELD-SYMBOLS .
  DATAvf_index TYPE i.
  datacnt type i.
*启动excel
  CREATE OBJECT excel 'EXCEL.APPLICATION'    "创建excel对象
  CALL METHOD OF excel 'WORKBOOKS' workbook"调用excel的方法
  IF sy-subrc NE .
    WRITE 'EXCEL 错误!'.
    LEAVE PROGRAM.
  ENDIF.
  SET PROPERTY OF excel 'VISIBLE' 0        "设置读取Excel时, 是否可视
*EXCEL 文件打开
  CALL METHOD OF
      workbook
      'OPEN'

    EXPORTING
      #1       p_path.
  IF sy-subrc NE .
    WRITE '处理错误!'.
    LEAVE PROGRAM.
  ENDIF.
*第一页
  CALL METHOD OF
      excel
      'WORKSHEETS' sheet
    EXPORTING
      #1           1.
*读取前10行4列
  DO 10 TIMES.
    r1 sy-index.
    DO TIMES.
      r2 sy-index.
      MOVE sy-index TO vf_index.
      ASSIGN COMPONENT vf_index OF STRUCTURE itab TO .
      CALL METHOD OF     "指定单元格,并读取值属性
          excel
          'CELLS' cell
        EXPORTING
          #1      r1
          #2      r2.
      GET PROPERTY OF cell 'VALUE' val1  "读取excel文件中的内容是用get property of excel
      CONDENSE val1.
      IF val1 EQ space.
        cnt cnt 1.
      ENDIF.
      MOVE val1 TO .
      IF r2 EQ 4.
        IF cnt <> 4.
          APPEND itab.
          CLEAR itab.
        ENDIF.
        CLEAR cnt.
      ENDIF.
    ENDDO.
  ENDDO.

****关闭WORKBOOK
  CALL METHOD OF
      workbook
      'CLOSE'.
****释放对象****
  FREE OBJECT cell.
  FREE OBJECT workbook.

ENDFORM                   UPLOAD_FROM_PC
0
0
查看评论

通过 OLE 上传资料

通过 ALSM_EXCEL_TO_INTERNAL_TABLE上传Excle中资料有个限制就是单个字段的大小最大为50个字符。  所以对于有些备注类的就不行了, 用下面的方式, 就没这个限制了。 *&----------------------------------...
  • zhongguomao
  • zhongguomao
  • 2015-06-04 16:41
  • 498

OLE上传及下载并修改excel

对于比较复杂的格式的EXCEL,不方便自己用程序来写格式,此时可以用OLE将EXCEL模板传到系统当中去, 然后从系统中下载该模板后再填充需要的数据保存即可实现要想的EXCEL.   上传excel文件时首先需要维护MIME类型,否则不能上传,上传完之后可在表wwwdata看到数据行...
  • iamah
  • iamah
  • 2012-05-10 17:55
  • 1751

Delphi中使用OLE方法操作Excel

首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( ′Excel.Application′ ); 注意程序结束时释放变量 ExcelApp:=unassigned; 1 显示当前窗口: Excel...
  • flytiger1977
  • flytiger1977
  • 2007-05-25 18:50
  • 506

SAP ABAP OLE 操作上传的EXCEL模板(转)

ABAP直接操作EXCEL实现数据处理。这里是用OLE实现操作EXCEL的。现在还有 DOI操作EXCEL等方法。以后用到再做介绍。此处不是直接生成EXCEL文件,而是从 服务器已经上传的EXCEL模板中下载模板然后打开修改实现数据保存。也可以直接创建 新的EXCEL文件往里面传递数据并设置格...
  • champaignwolf
  • champaignwolf
  • 2016-08-19 10:38
  • 2664

在Delphi中通过OLE方式写Excel文件

报表的打印是每个项目都会遇到的问题。由于报表格式要求五花八门,往往又同时要求打印格式可方便调整。作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧。由于Office的普及度较高,用户比较熟悉,也容易接受。下面主要是在开发中涉及到的在Delphi中写Excel文...
  • tjianliang
  • tjianliang
  • 2006-10-18 12:51
  • 3359

ABAP--通过OLE操作OFFICE(代码)

本代码是通过OLE技术操作EXCEL,将SAP的数据填写到本地EXCEL中,Office运行在SAP的GUI界面外,注意红色代码。REPORT ZRSDEMO01 NO STANDARD PAGE HEADING.* this report demonstrates how to send some...
  • CompassButton
  • CompassButton
  • 2007-10-20 09:34
  • 3710

用OLE操作Excel资料

  要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp#include "Comobj.hpp"C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用...
  • johnny_83
  • johnny_83
  • 2007-11-08 17:10
  • 1698

使用COM或者OLE的方法调用来控制Excel或者其他Office组件

    很多时候需要直接操作Office来满足程序的要求,例如需要把输出的数据写到Word 或者输出到表格Excel里。如果对它们的文件格式了解的话可以直接写文件的方式来操作,不过既然Office提供了COM组件,当然用这个更方便了。    下面是是...
  • betsyalan
  • betsyalan
  • 2004-07-29 15:05
  • 1363

数据库连接技术之OLE DB

之前的博客介绍了ODBC和JDBC,这次简单的介绍一下OLE DB。ODBC的总结不知道是没贴到博客上还是不在这个博客上,我再找找,没有的话我再补充到时候。好了,开始吧。 回顾     之前呢介绍过了ODBC和JDBC基本的结构是一样的,也就是本质一致。都是是访问数据库的...
  • zhuojiajin
  • zhuojiajin
  • 2014-07-25 21:38
  • 1987

P2P平台的"我要借款"功能,是否需要上传借款人的相关资料

P2P平台的前端系统,一般都会有“我要借款”这个功能。有的平台,非常重视这个功能,把它作为主要菜单的其中一项。有的把它看得相对次要,放在顶部Top栏中。毕竟P2P平台,其实主要是针对理财人的平台,借款的申请和审批大多还是走线下,中国信用环境还不够完善,纯线上的平台很少。接触了一些P2P平台,“我要借...
  • FansUnion
  • FansUnion
  • 2015-07-23 14:53
  • 1686
    个人资料
    • 访问:4652961次
    • 积分:65386
    • 等级:
    • 排名:第42名
    • 原创:1753篇
    • 转载:2553篇
    • 译文:101篇
    • 评论:343条
    博客专栏
    最新评论
    微信公众号
      为你推荐最新的博文~更有惊喜等着你