注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

XINBO'S SAP BLOG

你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经

 
 
 

日志

 
 

OLE把多行数据放到Excel的一个CELL里面  

2009-05-18 13:01:33|  分类: OLE |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
OLE把多行数据放到Excel的一个CELL里面 - xingbo.com - 柏拉的BOLOG-ABAP
 
 
关键代码:
FORM itabtoclip TABLES intab .
DATA: BEGIN OF itab_clip OCCURS 0 ,
          line(10000) TYPE c ,
        END OF itab_clip.
  DATA: tmpchar TYPE string  .
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA: tab TYPE c VALUE cl_abap_char_utilities=>NEWLINE.
  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  DESCRIBE TABLE headtab LINES n.
  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE tmpchar str INTO tmpchar.
    ENDDO.
    CONCATENATE itab_clip-line tab tmpchar INTO itab_clip-line.
    CLEAR tmpchar.
  ENDLOOP.
  SHIFT itab_clip-line.
  CONCATENATE '"' itab_clip-line '"' INTO itab_clip-line.
  APPEND itab_clip.
  CALL FUNCTION 'CLPB_EXPORT'
    TABLES
      data_tab   = itab_clip
    EXCEPTIONS
      clpb_error = 01.
ENDFORM.      
  评论这张
 
阅读(634)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017