REPORT ytest002.
" data to excel - > format EXCEL 2010
DATA : lt_tj02t TYPE STANDARD TABLE OF tj02t INITIAL SIZE 0 WITH HEADER LINE.
DATA : l_filename TYPE string.
DATA: r_result_data TYPE REF TO cl_salv_ex_result_data_table.
DATA: r_data TYPE REF TO data,
s_data TYPE REF TO data.
SELECT * INTO TABLE lt_tj02t FROM tj02t UP TO 100 ROWS.
DATA : s_layout TYPE lvc_s_layo,
t_fieldcatalog TYPE lvc_t_fcat,
s_fieldcatalog TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'TJ02T'
i_client_never_display = ''
CHANGING
ct_fieldcat = t_fieldcatalog
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*LOOP AT t_fieldcatalog INTO s_fieldcatalog WHERE reptext IS INITIAL.
* READ TABLE lt_txt WITH KEY fieldname = s_fieldcatalog-fieldname.
* s_fieldcatalog-reptext = ''.
* MODIFY t_fieldcatalog FROM s_fieldcatalog TRANSPORTING reptext.
* CLEAR :lt_txt,s_fieldcatalog.
*ENDLOOP.
s_layout-zebra = 'X'.
s_layout-cwidth_opt = 'X'.
CALL METHOD cl_alv_table_create=>table_copy
EXPORTING
it_outtab = lt_tj02t[]
it_fieldcatalog = t_fieldcatalog[]
IMPORTING
ep_table = r_data.
r_result_data = cl_salv_ex_util=>factory_result_data_table(
r_data = r_data
s_layout = s_layout
t_fieldcatalog = t_fieldcatalog
* t_sort = s_param_lvc-t_sort
* t_filter = s_param_lvc-t_filt
* t_hyperlinks = s_param_lvc-s_hype-t_hype
* IS_CURRENT_CELL = ls_cur_cell
* hyperlink_entry_column = l_hlink_colname
* I_DROPDOWN_ENTRY_COLUMN = ls_dropdown_entry
* IT_DROPDOWN_VALUES = lt_drdn )
* ir_top_of_list = lr_form_tol
* ir_end_of_list = lr_form_eol
).
"conversion to EXCEL ->format
DATA: l_version TYPE string.
DATA: xml TYPE xstring.
CASE cl_salv_bs_a_xml_base=>get_version( ).
WHEN if_salv_bs_xml=>version_25.
l_version = if_salv_bs_xml=>version_25.
WHEN if_salv_bs_xml=>version_26.
l_version = if_salv_bs_xml=>version_26.
ENDCASE.
CALL METHOD cl_salv_bs_tt_util=>if_salv_bs_tt_util~transform
EXPORTING
xml_type = '09' "10-OFFICE 20** , 09-2000/97 MHTML , 08-EXCEL XXL , 05-OPEN OFFICE , 04-2003 XML , 02- MHTML , 01-XML
xml_version = l_version
r_result_data = r_result_data
xml_flavour = if_salv_bs_c_tt=>c_tt_xml_flavour_export
gui_type = if_salv_bs_xml=>c_gui_type_gui
IMPORTING
xml = xml.
*CALL FUNCTION 'XML_EXPORT_DIALOG'
DATA l_xml_stream TYPE tsfixml. "xml_rawdata.
DATA l_length TYPE i.
"xstring to bin
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = xml
IMPORTING
output_length = l_length
TABLES
binary_tab = l_xml_stream.
"download
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = l_length
filetype = 'BIN'
filename = 'D:\TEST.MHTML'
CHANGING
data_tab = l_xml_stream
EXCEPTIONS
OTHERS = 1.
"open
CALL METHOD cl_gui_frontend_services=>execute
EXPORTING
document = 'D:\TEST.MHTML'
application = ''
parameter = ''
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10.
文件相關 - Inner Table to Excel
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.