ABAP中EXCEL数据转内表(直接套用)

本文介绍了如何使用ALSM_EXCEL_TO_INTERNAL_TABLE BAPI函数从Excel文件导入数据至内表lt_itab,包括参数设置、错误处理及数据转换。重点展示了数据处理流程和lt_itab内表的声明和使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename                = p_path
      i_begin_col             = 1
      i_begin_row             = 2
      i_end_col               = 13
      i_end_row               = 9999
    TABLES
      intern                  = lt_itab
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  = 3.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

  IF lt_itab[] IS NOT INITIAL.
  READ TABLE lt_itab WITH KEY COL = '10'.
  IF SY-SUBRC = 0.
    LV_WLLX = '2'.
    ELSE.

    LV_WLLX = '1'.

  ENDIF.
    IF LV_WLLX = '2'.
      LOOP AT lt_itab.
        ASSIGN COMPONENT lt_itab-col OF STRUCTURE ls_itab TO <fs_data>.
        IF sy-subrc EQ 0.
          TRANSLATE lt_itab-value TO UPPER CASE.
          <fs_data> = lt_itab-value.
        ENDIF.

        AT END OF row.                      "如果是最后一行就把工作LS_DATA存到内表GT_DATA中
          APPEND ls_itab TO gt_itab.
          CLEAR ls_itab.
        ENDAT.
      ENDLOOP.

    ELSE.
      LOOP AT lt_itab.
        ASSIGN COMPONENT lt_itab-col OF STRUCTURE ls_itab1 TO <fs_data>.
        IF sy-subrc EQ 0.
          TRANSLATE lt_itab-value TO UPPER CASE.
          <fs_data> = lt_itab-value.
        ENDIF.

        AT END OF row.                      "如果是最后一行就把工作LS_DATA存到内表GT_DATA中
          APPEND ls_itab1 TO gt_itab1.
          CLEAR ls_itab1.
        ENDAT.
      ENDLOOP.
    ENDIF.
  ENDIF.

将数据导入内表的BAPI是ALSM_EXCEL_TO_INTERNAL_TABLE

处理后存入表gt_itab中。

注:lt_itab这张内表声明方式为

DATA:lt_itab  TYPE TABLE OF alsmex_tabline WITH HEADER LINE. "定义同名工作区

gt_itab按照需求定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值