Upload excel file 到 INTERNAL TABLE 的方法

本文介绍了一个使用ABAP编程语言从Excel文件中读取数据并将其转换为内部表的方法。通过调用特定的功能模块,实现对Excel文件指定范围内的数据进行读取,并将这些数据逐条记录到ABAP内部表中。

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

FORM upload_data .
DATA:w_tab LIKE it_excel.
DATA:lt_excel TYPE TABLE OF alsmex_tabline WITH HEADER LINE.
DATA:l_tabix1 LIKE sy-tabix.

FIELD-SYMBOLS:<field> TYPE ANY.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_file
i_begin_col = 1
i_begin_row = 2
i_end_col = 16
i_end_row = 5000
TABLES
intern = lt_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE s398 WITH 'Error occurs when upload Excel file!'.
STOP.
ENDIF.

*&SORT lt_intern BY row col.
LOOP AT lt_excel.
AT NEW row.
l_tabix1 = sy-tabix.
ENDAT.

AT END OF row.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE w_tab TO <field>.
IF sy-subrc = 0.
READ TABLE lt_excel INDEX l_tabix1.
IF sy-subrc = 0 AND lt_excel-col = sy-index.
TRANSLATE lt_excel-value TO UPPER CASE.
<field> = lt_excel-value.
ADD 1 TO l_tabix1.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
APPEND w_tab TO it_excel.
CLEAR w_tab.
ENDAT.
ENDLOOP.
ENDFORM. " upload_data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值