DATA gt_contract TYPE tty_contract.
DATA gr_table TYPE REF TO cl_salv_table.
DATA gv_xstring TYPE xstring.
DATA gv_xlen TYPE int4.
DATA gv_size TYPE so_obj_len.
DATA gt_binary_table TYPE solix_tab.
DATA: filename TYPE string,
path TYPE string,
fullpath TYPE string.
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = gt_contract ). "gt_contract是自定义的内表数据
gv_xstring = gr_table->to_xml( if_salv_bs_xml=>c_type_xlsx ).
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = gv_xstring
IMPORTING
output_length = gv_xlen
TABLES
binary_tab = gt_binary_table.
gv_size = gv_xlen.
CATCH cx_salv_msg.
ENDTRY.
“下载
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = 'Save'
default_extension = 'xlsx'
default_file_name = 'Summary_Certified Statement Submission'
file_filter = 'Excel(*.XLS;*.XLSX)'
initial_directory = 'C:\'
CHANGING
filename = filename
path = path
fullpath = fullpath.
" Save the file
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = gv_xlen
filename = fullpath
filetype = 'BIN'
CHANGING
data_tab = gt_binary_table
EXCEPTIONS
OTHERS = 1.