赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 3695|回复: 17

最简单方法开发出EXCEL导出和打印.

[复制链接]
发表于 2012-10-16 10:47:23 | 显示全部楼层 |阅读模式
         REPORT  ZTRAIN04.
        
        TABLES mara.
        TYPE-POOLS: slis .
        
        DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
        DATA  fieldcatalog like gt_fieldcat.
        DATA  gs_layout TYPE slis_layout_alv.
        DATA  g_repid LIKE sy-repid.
        
        
        DATA it_tab LIKE TABLE OF makt WITH HEADER LINE .
        DATA wa_tab LIKE makt .
        
        SELECT-OPTIONS v_matnr FOR mara-matnr.
        PARAMETERS s_r1 RADIOBUTTON GROUP gr1 DEFAULT 'X'.
        PARAMETERS s_r2 RADIOBUTTON GROUP gr1 .
        
        
        SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE it_tab
          WHERE matnr in v_matnr .
        
              PERFORM EXCELDISPLAY.
        
        
        
        *----------------------------------------------------------------------*
        TYPE-POOLS: OLE2.     " 类型池
        DATA: w_excel TYPE ole2_object,        " Excel object,ole_record.
              w_sheet TYPE ole2_object,        " Excel object,worksheets
              w_mapl TYPE ole2_object,         " list of workbooks
              w_map TYPE ole2_object,          " workbook
              w_rangeobj TYPE ole2_object.     " Range object
        
        FORM EXCELDISPLAY ."TABLES x_mara LIKE it_tab.
        
          " EXCEL 输出
        
        
游客,如果您要查看本帖隐藏内容请回复
        
          LOOP AT it_tab.
            x_row = x_row + 1.
        
            CONCATENATE 'A' x_row INTO v_range.
            PERFORM fill_range USING v_range it_tab-MATNR.
        *    CONCATENATE 'B' x_row INTO v_range.
        *    PERFORM fill_range USING v_range it_tab-MATKL.
        *    CONCATENATE 'C' x_row INTO v_range.
        *    PERFORM fill_range USING v_range it_tab-WERKS.
            CONCATENATE 'D' x_row INTO v_range.
            PERFORM fill_range USING v_range it_tab-MAKTX.
        *    CONCATENATE 'E' x_row INTO v_range.
        *    PERFORM fill_range USING v_range it_tab-GEWEI.
        
            CLEAR it_tab.
          ENDLOOP.
        
          SET PROPERTY OF w_excel  'VISIBLE' = 1 no flush.
        
          FREE w_mapl.
          FREE OBJECT w_excel.
        
        ENDFORM.                    "frmXLSDisplay
        
        
        *&---------------------------------------------------------------------*
        *&      Form  fill_range
        *&---------------------------------------------------------------------*
        *       text
        *----------------------------------------------------------------------*
        *      -->VALUE(F_RANGE)  text
        *      -->VALUE(F_VALUE)  text
        *----------------------------------------------------------------------*
        FORM fill_range USING value(f_range) value(f_value).
          CALL METHOD OF w_sheet 'Range' = w_rangeobj
            EXPORTING
            #1 = f_range.
          SET PROPERTY OF w_rangeobj 'Value' = f_value.
        ENDFORM.                    "fill_range



   

最近访客

  • wx_49655
    2023-11-03
  • tbb1177
    2022-11-14
  • wx_16126
    2022-09-10
  • 毛毛
    2022-08-03
  • EricCai
    2022-08-02
  • austin
    2022-03-24
  • admin
    2020-09-18
  • 睡不醒叁
    2020-09-15
  • 爱家老于
    2020-08-14




上一篇:赛跑网-选择屏幕之页签制作
下一篇:ABAP-超级简单实现文件夹的判断与创建
本楼点评(0) 收起
发表于 2012-10-16 16:21:50 | 显示全部楼层

好啊
本楼点评(0) 收起
发表于 2013-1-18 11:50:31 | 显示全部楼层
学习
本楼点评(0) 收起
发表于 2013-3-3 19:42:45 | 显示全部楼层
很棒
本楼点评(0) 收起
发表于 2013-4-28 01:44:53 | 显示全部楼层

thanks

cx楼主辛苦啦,这个问题对我很重要
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-26 18:05 , Processed in 0.642444 second(s), 69 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表