需要根据配置表动态生成excel文件,并对特殊字符能够进行拆分,这时候就不能通过MOVE的方式进行赋值,需要获取内表字段,并对值进行处理,这里记录一下实现的过程。
l_tabledescr_ref ?= cl_abap_typedescr=>describe_by_data( <fs_excel_tab_tmp> ).
l_descr_ref ?= l_tabledescr_ref->get_table_line_type( ).
* 复制数据到excel表格
LOOP AT <fs_excel_tab_tmp> INTO <fs_excel_line_tmp>.
LOOP AT l_descr_ref->components INTO wa_table .
ASSIGN COMPONENT wa_table-name OF STRUCTURE <fs_excel_line_tmp> TO <fs_value>.
CLEAR lv_str1.
SPLIT <fs_value> AT '|' INTO lv_str1 lv_str2 .
ASSIGN COMPONENT wa_table-name OF STRUCTURE <fs_excel_line> TO <fs_field>.
<fs_field> = lv_str1.
ENDLOOP.
ENDLOOP.
excel导入数据
导入结果: