Fans of ABAP SAP! 始终相信oO美好在远方л幸福不说话 @ε @

Report保存EXCEL本地文件——代码实现

上一篇 / 下一篇  2008-03-22 08:48:11

 

DATA: l_mng(2)    TYPE n,    "**
4pfK'~5qXOv\0        l_lin(2)    TYPE n,    "**ITPUB个人空间'f-LE @_d.]
        l_ename(11) TYPE c,    "t_excel-mngITPUB个人空间 fS},EK!D F
        l_name(20)  TYPE c,    "t_excel-mng**ITPUB个人空间!}Iol~6xf'Nt
        l_qty(20)   TYPE c,    "t_excel-mng**ITPUB个人空间*{)VplX4G.F
        l_cnt       TYPE i,    "record how many days till Monday
0j6o1g4xFc!gjq0        l_start(2)  TYPE n,ITPUB个人空间_"J#F _ _.y7[
        p_file(80)  TYPE c.    "File Name
^f8K}Q w8mq%}0  FIELD-SYMBOLS: <fs> TYPE ANY,ITPUB个人空间g4N'h vDK
                 <fqty> TYPE ANY.

  DATA: BEGIN OF t_excel OCCURS 0,

这里定义的栏位名和输出表相同,全部都TYPE C。ITPUB个人空间}5}oD+v;q_ R
               END OF t_excel.

*对栏位名进行赋值。  

  LOOP AT t_fieldcat.
G6`@l3b$\ W2zds l0    IF t_fieldcat-col_pos >= **.
O~e&B+uO3h.n0      CONCATENATE l_ename l_mng INTO l_name.
&N4i8q4O]o W0      ASSIGN (l_name) TO <fs>.ITPUB个人空间/}${D;OS-{/C^+b+U
      <fs> = t_fieldcat-seltext_l.ITPUB个人空间O_`F'Ts
      l_mng = l_mng + 1.ITPUB个人空间 X*M\3MH
    ENDIF.ITPUB个人空间 ~ {*^:h N9h{
  ENDLOOP.

  APPEND t_excel.

*将内表中的数据复制到定义的表中 

LOOP AT t_out.ITPUB个人空间TMN6|okBH
    MOVE-CORRESPONDING t_out TO t_excel.

    CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'ITPUB个人空间-Cy_#W s^1G
         EXPORTING
jod d){"zCz{{x0              input    = t_out-meins
K(U*tU6S7?7GTG0[0              language = sy-languITPUB个人空间!_+M`q3]"UKm4r
         IMPORTINGITPUB个人空间#R#z]l PJ%?c
              output   = t_excel-meins.

    DO 70 TIMES.
2IiN4d*LgP |#O:`0      l_lin = sy-index.
,m*yLE/XJ0      CONCATENATE l_ename l_lin
Q)Y/s\;Q~w H0      INTO l_qty.
!X!N;{N\!Y0      ASSIGN (l_qty) TO <fqty>.
j)qe2dZ6KDf0      CONDENSE <fqty>.ITPUB个人空间8Iq2c gx%gj|
    ENDDO.
t*~i2Ys HD!H0    APPEND t_excel.
mE:y%x\+Dm0  ENDLOOP.

*生成EXCEL文件 

CONCATENATE 'C:\' sy-datum sy-uzeit '.xls' INTO p_file.
1ZF~:K#J%k y0  CALL FUNCTION 'WS_EXCEL'ITPUB个人空间2[8^+R6Fn N,{oU.`8c
       EXPORTING
Gos"]0q0            filename = p_file
@0]pI ^;W&n0            synchron = ''
o3O&O,uzwG!O0       TABLESITPUB个人空间Y4bnrQ$K8M
            data     = t_excel.ITPUB个人空间t8w;{*`E@M
  MESSAGE s888(sabapdocu) WITHITPUB个人空间Ko"K nY,G+N
         'Data Have Been Downloaded Successfully!'.

synchron 表示同步,置为空则生成excel档,就立即显示成功信息返回程序

附给‘X’,则要关闭生成的EXCEL档后,才显示成功信息返回程序
"D0W(]MxW'l*Pz0


TAG: abap excel

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 597
  • 日志数: 10
  • 影音数: 3
  • 建立时间: 2008-03-18
  • 更新时间: 2008-06-05

RSS订阅

Open Toolbar