如何读取EXCEL文件到内表

1 定义内表
data: gt_data type alsmex_tabline occurs 0 with header line.

2 定义文件参数
parameters:
  p_file like rlgrap-filename. 

3定义文件帮助
at selection-screen on value-request for p_file.
  perform. select_file. 
form. select_file .
  call function 'WS_FILENAME_GET'
    exporting
      mask             = ',Excel Files,*.xls,All Files,*.*.'(101)
      title            = '选择文件'(100)
    importing
      filename         = p_file
    exceptions
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      others           = 5.
  if sy-subrc <> 0 and sy-subrc <> 3.
    message e100(zdev) with '选择文件出错!'(007).
  endif.
endform.          

4 读取EXCEL 文件到内表         
" SELECT_FILE  

call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
*倒入EXCEL数据到内表
    exporting
      filename    = p_file
      i_begin_col = '1'
      i_begin_row = '1'
      i_end_col   = '4'
      i_end_row   = '5000'
    tables
      intern      = gt_data.
  sort gt_data by row col value.
 
5 数据转换
  loop at gt_data.
    if g_row <> gt_data-row and sy-tabix > 1 .
      append gt_zfi025.
      clear gt_zfi025.
    endif.
    gt_zfi025-mandt = sy-mandt.
    case gt_data-col.
      when 1.  gt_zfi025-bukrs = gt_data-value.
      when 2.  gt_zfi025-bzirk = gt_data-value.
      when 3.  gt_zfi025-vkbur = gt_data-value.
      when 4.  gt_zfi025-money = gt_data-value.
    endcase.
    g_row = gt_data-row.
    clear gt_data.
  endloop.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/92530/viewspace-154873/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/92530/viewspace-154873/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值