码迷,mamicode.com
首页 > Web开发 > 详细

EXCEL上传DEMO

时间:2015-01-05 14:38:59      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

DATA: filetab TYPE filetable WITH HEADER LINE .

DATA: rc TYPE i.

DATA: outtab TYPE TABLE OF mara WITH HEADER LINE  .

DATA: itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE.

 

 

DATA:g_file TYPE rlgrap-filename.

 

FIELD-SYMBOLS: <fs>.

 

PARAMETERS: p_file TYPE string.

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  CALL METHOD cl_gui_frontend_services=>file_open_dialog

    EXPORTING

      default_filename = p_file

    CHANGING

      rc               = rc

      file_table       = filetab[].

 

  READ TABLE  filetab INDEX  1.

 

  IF sy-subrc EQ 0.

    p_file = filetab-filename.

  ENDIF.

 

 

START-OF-SELECTION.

  g_file = p_file.  "注意两个文件用于不同的函数,所以类型不同

 

  CALL FUNCTION ‘ALSM_EXCEL_TO_INTERNAL_TABLE‘

    EXPORTING

      filename    = g_file

      i_begin_col = 1

      i_begin_row = 1

      i_end_col   = 255

      i_end_row   = 65536

    TABLES

      intern      = itab[].

 

  DELETE itab WHERE row = 1.  "删除字段名行

  

  LOOP AT itab.

    

    ON CHANGE OF itab-row.

      IF sy-tabix NE 1.

        APPEND outtab.

        CLEAR outtab.

      ENDIF.

    ENDON.

 

    ASSIGN COMPONENT itab-col OF STRUCTURE outtab TO <fs>.         "动态方法将值传到相应的内表

    <fs> = itab-value.

 

  ENDLOOP.

 

  APPEND outtab.   "这句不要忘记,要把最后一条APPEND到内表中

EXCEL上传DEMO

标签:

原文地址:http://www.cnblogs.com/eric0701/p/4203443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!