abap excel上传

DATA: lt_excel_data TYPE TABLE OF ty_excel_data,

ls_excel_data TYPE ty_excel_data.

DATA: lt_intern TYPE TABLE OF alsmex_tabline,

ls_intern TYPE alsmex_tabline,

lv_row TYPE i,

lv_col TYPE i.

DATA: lv_filename TYPE string,

lv_filetype TYPE char10.

IF p_file IS INITIAL.

MESSAGE '请填写上载模板地址' TYPE 'S' DISPLAY LIKE 'E'.

LEAVE LIST-PROCESSING.

ENDIF.

PERFORM upload_excel.

FORM upload_excel.

DATA: lt_rawdata TYPE truxs_t_text_data,

lv_index TYPE i,

lv_tabix TYPE sy-tabix.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = p_file

i_begin_col = 1

i_begin_row = 3 " 跳过表头

i_end_col = 38

i_end_row = 9999

TABLES

intern = lt_intern

EXCEPTIONS

inconsistent_parameters = 1

upload_ole = 2

OTHERS = 3.

IF sy-subrc = 0.

CLEAR: lt_excel_data.

SORT lt_intern BY row col.

LOOP AT lt_intern INTO DATA(ls_intern).

AT NEW row.

lv_row = ls_intern-row.

CLEAR ls_excel_data.

ENDAT.

ASSIGN COMPONENT ls_intern-col

OF STRUCTURE ls_excel_data

TO FIELD-SYMBOL(<lv_field>).

IF sy-subrc = 0.

<lv_field> = ls_intern-value.

ENDIF.

AT END OF row.

APPEND ls_excel_data TO lt_excel_data.

ENDAT.

ENDLOOP.

ELSE.

MESSAGE 'Excel文件读取失败' TYPE 'E'.

ENDIF.

"ENDIF.

PERFORM display_data.

ENDFORM.

*&---------------------------------------------------------------------*

*& Form DISPLAY_DATA

*&---------------------------------------------------------------------*

FORM display_data.

DATA: lt_alv TYPE REF TO cl_salv_table,

lx_msg TYPE REF TO cx_salv_msg.

TRY.

cl_salv_table=>factory(

IMPORTING

r_salv_table = lt_alv

CHANGING

t_table = lt_excel_data ).

lt_alv->get_columns( )->set_optimize( 'X' ).

lt_alv->display( ).

CATCH cx_salv_msg INTO lx_msg.

MESSAGE lx_msg TYPE 'E'.

ENDTRY.

ENDFORM.

相关推荐
Cloud_Shy6187 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十二章 用户定义函数 上篇)
python·数据分析·excel·pandas
QuZhengRong7 小时前
【Luck-Report】缓存
java·前端·后端·vue·excel
ERP面壁者8 小时前
WTEW的操作记录
sap
程序员老油条9 小时前
Excel合并的单元格拆分并批量填充为已有数据
excel
QQ129584550410 小时前
FERP50 - Excel以存储过程方式访问数据仓库
数据仓库·spark·excel
Omics Pro10 小时前
免费!糖蛋白质组学数据分析
开发语言·深度学习·数据挖掘·数据分析·r语言·excel·知识图谱
开始脱发的自然卷11 小时前
用 Excel 手算一个 1-6-1 MLP:前向传播、损失、反向传播与参数更新
excel
阿波罗尼亚11 小时前
浮点数精度问题
java·excel
程序员敲代码吗20 小时前
Go语言中Channel的实现与内存通信机制详解
excel
时空自由民.1 天前
vim入门配置教程
编辑器·vim·excel