点击(此处)折叠或打开
- REPORT zdemo16.
- DATA: gr_container TYPE REF TO cl_gui_container,
- gr_control TYPE REF TO i_oi_container_control,
- gr_document TYPE REF TO i_oi_document_proxy,
- gr_spreadsheet TYPE REF TO i_oi_spreadsheet.
- DATA: gt_ranges TYPE soi_range_list,
- gs_range TYPE soi_range_item,
- gt_contents TYPE soi_generic_table,
- gs_content TYPE soi_generic_item.
- PERFORM out_data.
- *&---------------------------------------------------------------------*
- *& Form get_container
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM get_container.
- gr_container = cl_gui_container=>screen0.
- ENDFORM. "get_container
- *&---------------------------------------------------------------------*
- *& Form create_container_control
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM create_container_control.
- * create container control
- CALL METHOD c_oi_container_control_creator=>get_container_control
- IMPORTING
- control = gr_control.
- * initialize control
- CALL METHOD gr_control->init_control
- EXPORTING
- inplace_enabled = 'X '
- inplace_scroll_documents = 'X'
- register_on_close_event = 'X'
- register_on_custom_event = 'X'
- r3_application_name = 'DEMO'
- parent = gr_container.
- ENDFORM. "create_container_control
- *&---------------------------------------------------------------------*
- *& Form create_excel_document
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM create_excel_document.
- CALL METHOD gr_control->get_document_proxy
- EXPORTING
- document_type = 'Excel.Sheet'
- no_flush = 'X'
- IMPORTING
- document_proxy = gr_document.
- CALL METHOD gr_document->create_document
- EXPORTING
- document_title = 'TEST TITLE'
- no_flush = 'X '
- open_inplace = 'X'.
- ENDFORM. "create_excel_document
- *&---------------------------------------------------------------------*
- *& Form main
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM out_data.
- *skip 1 必须,否则创建不了屏幕
- SKIP 1.
- PERFORM get_container.
- PERFORM create_container_control.
- PERFORM create_excel_document.
- CALL METHOD gr_document->get_spreadsheet_interface
- EXPORTING
- no_flush = 'X'
- IMPORTING
- sheet_interface = gr_spreadsheet.
- CALL METHOD gr_spreadsheet->select_sheet
- EXPORTING
- name = 'Sheet1'
- no_flush = 'X'.
- CALL METHOD gr_spreadsheet->insert_range_dim
- EXPORTING
- name = 'cell'
- no_flush = 'X'
- top = 1
- left = 1
- rows = 2
- columns = 2.
- CLEAR gs_range.
- CLEAR gt_ranges[].
- gs_range-name = 'cell'.
- gs_range-rows = 2.
- gs_range-columns = 2.
- gs_range-code = 4.
- APPEND gs_range TO gt_ranges.
- DEFINE write_content_cell.
- gs_content-row = &1.
- gs_content-column = &2.
- gs_content-value = &3.
- append gs_content to gt_contents.
- clear gs_content.
- END-OF-DEFINITION.
- write_content_cell 1 1 'TEST11'.
- write_content_cell 1 2 'TEST12'.
- write_content_cell 2 1 'TEST21'.
- write_content_cell 2 2 'TEST22'.
- CALL METHOD gr_spreadsheet->set_ranges_data
- EXPORTING
- ranges = gt_ranges
- contents = gt_contents
- no_flush = 'X'.
- ENDFORM. "out_data