方便复用,实际就是ole2方式
1、SE24创建类
2、复制代码至相应位置
*----------------------------------------------------------------------*
* CLASS ZCL_TAB_DOC DEFINITIO
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS zcl_tab_doc DEFINITIONPUBLICFINALCREATE PUBLICGLOBAL FRIENDS cl_gui_frontend_services .*"* public components of class ZCL_TAB_DOC
*"* do not include other source files here!!!PUBLIC SECTION.TYPE-POOLS: abap.TYPES:BEGIN OF ty_sheetname_info,sheetname TYPE string,startrow TYPE i,startcol TYPE i,every_copy_lines TYPE i,endcol TYPE i,END OF ty_sheetname_info .TYPES:tt_sheetname_info TYPE STANDARD TABLE OF ty_sheetname_info .TYPES:ty_char30000 TYPE c LENGTH 30000 .TYPES:tt_char30000 TYPE TABLE OF ty_char30000 .DATA:dt_excel_context TYPE STANDARD TABLE OF ty_char30000 .TYPES:BEGIN OF ty_tabc,sheetname TYPE string, "sheet名称context LIKE dt_excel_context, "sheet页的数据END OF ty_tabc .TYPES:tt_tabc TYPE STANDARD TABLE OF ty_tabc ."保存文件CLASS-METHODS file_save_dialog_defaultIMPORTINGvalue(i_window_title) TYPE string DEFAULT 'Select Download Path'value(i_default_extension) TYPE string DEFAULT 'xlsx'value(i_default_filename) TYPE string DEFAULT 'Download'!i_with_encoding TYPE abap_bool OPTIONALvalue(i_file_filter) TYPE string DEFAULT 'Excel(*.xlsx)|*.xlsx|Excel(*.xlsm)|*.xlsm|Excel 97-2003(*.xls)|*.xls'value(i_initial_directory) TYPE string OPTIONAL!i_prompt_on_overwrite TYPE abap_bool DEFAULT 'X'CHANGING!c_filename TYPE string!c_path TYPE string!c_fullpath TYPE string!c_user_action TYPE i OPTIONAL!c_file_encoding TYPE abap_encoding OPTIONALEXCEPTIONScntl_errorerror_no_guinot_supported_by_guiinvalid_default_file_name ."读取文件CLASS-METHODS file_open_dialog_defaultIMPORTINGvalue(i_window_title) TYPE string DEFAULT 'Select Upload File'value(i_default_extension) TYPE string DEFAULT '.xlsx|.xls'value(i_default_filename) TYPE string OPTIONALvalue(i_file_filter) TYPE string DEFAULT 'Excel(*.xlsx)|*.xlsx|Excel(*.xlsm)