ABAP EXCEL 上传 和下载 过程
?? 。。。。。。。
END?OF?ITAB1.
DATA:?itab?LIKE?ITAB1?OCCURS?0?WITH?HEADER?LINE.
**************************定義控件***********************************
SELECTION-SCREEN?BEGIN?OF?BLOCK?b2?WITH?FRAME?TITLE?t2.
PARAMETERS:cc?AS?CHECKBOX?DEFAULT?'X'.
PARAMETERS:?pc_file(80).
SELECTION-SCREEN?END?OF?BLOCK?b2.
*********************************************************************************
INITIALIZATION.
*??t1?=?'查詢條件'.
??t2?=?'文件上傳'.
AT?SELECTION-SCREEN?ON?VALUE-REQUEST?FOR?pc_file.
??PERFORM?sub_find?USING?pc_file.
*********************************************************************************
FORM?sub_find?USING?pc_file.?? "---------------------選擇EXCEL文件------------------
*?Data?for?open?dialog??DATA:?l_filetab???TYPE?filetable,
????????l_rc????????TYPE?i.
??CLEAR?l_filetab.
??REFRESH?l_filetab.
*?Open?dialog
??CALL?METHOD?cl_gui_frontend_services=>file_open_dialog
????EXPORTING
*??????WINDOW_TITLE????????????=?'SAP?Custom?-?Open?File'
*??????DEFAULT_EXTENSION???????=
??????default_filename????????=?'*.xls'
*??????FILE_FILTER?????????????=?'*.xls'
??????initial_directory???????=?'d:\'
??????multiselection??????????=?''
????CHANGING
??????file_table??????????????=?l_filetab
??????rc??????????????????????=?l_rc
????EXCEPTIONS
??????cntl_error??????????????=?1
??????error_no_gui????????????=?2
??????not_supported_by_gui????=?3
??????OTHERS??????????????????=?4.
*?Get?file?path
??CHECK?l_rc?EQ?1.
??READ?TABLE?l_filetab?INDEX?1?INTO?pc_file.
ENDFORM.????????????????????"Sub_find
FORM?uploaddata.?? "-------------------------上傳EXCEL --------------------
DATA:?BEGIN?OF?i_excel?OCCURS?0.??????????INCLUDE?STRUCTURE?alsmex_tabline.
??DATA:?END?OF?i_excel.
??DATA:?l_answer(1)?TYPE?c.
??DATA:?l_column?TYPE?i.
??FIELD-SYMBOLS:?<fs>.
??DATA:?l_pathname?LIKE?rlgrap-filename.
??MOVE?pc_file?TO?l_pathname.
??CALL?FUNCTION?'ALSM_EXCEL_TO_INTERNAL_TABLE'
????EXPORTING
??????filename????????????????=?l_pathname
??????i_begin_col?????????????=?c_begin_col
??????i_begin_row?????????????=?c_begin_row
??????i_end_col???????????????=?c_end_col
??????i_end_row???????????????=?c_end_row
????TABLES
??????intern??????????????????=?i_excel
????EXCEPTIONS
??????inconsistent_parameters?=?1
??????upload_ole??????????????=?2
??????OTHERS??????????????????=?3.
??IF?sy-subrc?<>?0.
????MESSAGE?ID?sy-msgid?TYPE?sy-msgty?NUMBER?sy-msgno
??????????WITH?sy-msgv1?sy-msgv2?sy-msgv3?sy-msgv4.
??ELSE.
????IF?i_excel[]?IS?INITIAL.
??????CALL?FUNCTION?'POPUP_TO_CONFIRM_WITH_MESSAGE'
????????EXPORTING
*?????????DEFAULTOPTION????????=?'Y'
??????????diagnosetext1????????=?'No?data?in?excel'
*?????????DIAGNOSETEXT2????????=?'?'
*?????????DIAGNOSETEXT3????????=?'?'
??????????textline1????????????=?'No?data?in?excel'
*?????????TEXTLINE2????????????=?'?'
??????????titel????????????????=?'Confirm'
*?????????START_COLUMN?????????=?25
*?????????START_ROW????????????=?6
*?????????CANCEL_DISPLAY???????=?'X'
????????IMPORTING
??????????answer???????????????=?l_answer.
????ELSE.
??????DELETE?i_excel?WHERE?row?=?'0001'.
??????SORT?i_excel?BY?row?col.
??????LOOP?AT?i_excel.
????????MOVE?i_excel-col?TO?l_column.
????????ASSIGN?COMPONENT?l_column?OF?STRUCTURE?itab?TO?<fs>.
????????MOVE?i_excel-value?TO?<fs>.
????????AT?END?OF?row.
??????????APPEND?itab.
??????????CLEAR?itab.
????????ENDAT.
??????ENDLOOP.
????ENDIF.
??ENDIF.
ENDFORM.????????????????????"UPLOADDATA
總結(jié)
以上是生活随笔為你收集整理的ABAP EXCEL 上传 和下载 过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100小时学会sap-财务篇fico总结
- 下一篇: 时间函数大饱眼福