读取EXCEL到内表


report ztest2.


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到内表中

posted @   Eric.su  阅读(194)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示