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.

相关推荐
元Y亨H几秒前
Pandas 解析 Excel 导致的内存溢出(MemoryError)
python·excel
姜小二4 小时前
QAxObject实现读写excel
嵌入式硬件·excel
E_ICEBLUE6 小时前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
蓝创工坊Blue Foundry7 小时前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
噢,我明白了1 天前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
REST_30271 天前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
蓝创工坊Blue Foundry1 天前
多个同模板 PDF,怎样批量提取同一类字段到 Excel
运维·数据库·pdf·自动化·ocr·excel
小田的博客2 天前
SAP 登录界面默认语言设置
sap
蓝创工坊Blue Foundry2 天前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
用户298698530142 天前
Python 实现 Excel 与 Markdown 互转的实用指南
后端·python·excel