mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-04 20:28:22 +08:00
parent
6edf73b01d
commit
2710dd9717
|
@ -10,28 +10,28 @@ REPORT zabap2xlsx_demo_show.
|
|||
CLASS lcl_perform DEFINITION CREATE PRIVATE.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: setup_objects,
|
||||
collect_reports,
|
||||
collect_reports,
|
||||
|
||||
handle_nav FOR EVENT double_click OF cl_gui_alv_grid
|
||||
IMPORTING e_row.
|
||||
handle_nav FOR EVENT double_click OF cl_gui_alv_grid
|
||||
IMPORTING e_row.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES: BEGIN OF ty_reports,
|
||||
progname TYPE reposrc-progname,
|
||||
sort TYPE reposrc-progname,
|
||||
progname TYPE reposrc-progname,
|
||||
sort TYPE reposrc-progname,
|
||||
description TYPE repti,
|
||||
filename TYPE string,
|
||||
filename TYPE string,
|
||||
END OF ty_reports.
|
||||
|
||||
CLASS-DATA:
|
||||
lo_grid TYPE REF TO cl_gui_alv_grid,
|
||||
lo_text TYPE REF TO cl_gui_textedit,
|
||||
cl_document TYPE REF TO i_oi_document_proxy,
|
||||
lo_grid TYPE REF TO cl_gui_alv_grid,
|
||||
lo_text TYPE REF TO cl_gui_textedit,
|
||||
cl_document TYPE REF TO i_oi_document_proxy,
|
||||
|
||||
t_reports TYPE STANDARD TABLE OF ty_reports WITH NON-UNIQUE DEFAULT KEY.
|
||||
CLASS-DATA:error TYPE REF TO i_oi_error,
|
||||
t_errors TYPE STANDARD TABLE OF REF TO i_oi_error WITH NON-UNIQUE DEFAULT KEY,
|
||||
cl_control TYPE REF TO i_oi_container_control. "Office Dokument
|
||||
t_reports TYPE STANDARD TABLE OF ty_reports WITH NON-UNIQUE DEFAULT KEY.
|
||||
CLASS-DATA:error TYPE REF TO i_oi_error,
|
||||
t_errors TYPE STANDARD TABLE OF REF TO i_oi_error WITH NON-UNIQUE DEFAULT KEY,
|
||||
cl_control TYPE REF TO i_oi_container_control. "Office Dokument
|
||||
|
||||
ENDCLASS. "lcl_perform DEFINITION
|
||||
|
||||
|
@ -50,8 +50,8 @@ END-OF-SELECTION.
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_perform IMPLEMENTATION.
|
||||
METHOD setup_objects.
|
||||
DATA: lo_split TYPE REF TO cl_gui_splitter_container,
|
||||
lo_container TYPE REF TO cl_gui_container.
|
||||
DATA: lo_split TYPE REF TO cl_gui_splitter_container,
|
||||
lo_container TYPE REF TO cl_gui_container.
|
||||
|
||||
DATA: it_fieldcat TYPE lvc_t_fcat,
|
||||
is_layout TYPE lvc_s_layo,
|
||||
|
@ -202,13 +202,13 @@ CLASS lcl_perform IMPLEMENTATION.
|
|||
|
||||
METHOD handle_nav.
|
||||
CONSTANTS: filename TYPE text80 VALUE 'ZABAP2XLSX_DEMO_SHOW.xlsx'.
|
||||
DATA: wa_report LIKE LINE OF t_reports,
|
||||
t_source TYPE STANDARD TABLE OF text255,
|
||||
t_rawdata TYPE solix_tab,
|
||||
wa_rawdata LIKE LINE OF t_rawdata,
|
||||
bytecount TYPE i,
|
||||
length TYPE i,
|
||||
add_selopt TYPE flag.
|
||||
DATA: wa_report LIKE LINE OF t_reports,
|
||||
t_source TYPE STANDARD TABLE OF text255,
|
||||
t_rawdata TYPE solix_tab,
|
||||
wa_rawdata LIKE LINE OF t_rawdata,
|
||||
bytecount TYPE i,
|
||||
length TYPE i,
|
||||
add_selopt TYPE flag.
|
||||
|
||||
|
||||
READ TABLE t_reports INTO wa_report INDEX e_row-index.
|
||||
|
@ -235,14 +235,14 @@ CLASS lcl_perform IMPLEMENTATION.
|
|||
ENDIF.
|
||||
ENDIF.
|
||||
IF add_selopt IS INITIAL.
|
||||
SUBMIT (wa_report-progname) AND RETURN "#EC CI_SUBMIT
|
||||
SUBMIT (wa_report-progname) AND RETURN "#EC CI_SUBMIT
|
||||
WITH p_backfn = filename
|
||||
WITH rb_back = 'X'
|
||||
WITH rb_down = ' '
|
||||
WITH rb_send = ' '
|
||||
WITH rb_show = ' '.
|
||||
ELSE.
|
||||
SUBMIT (wa_report-progname) VIA SELECTION-SCREEN AND RETURN "#EC CI_SUBMIT
|
||||
SUBMIT (wa_report-progname) VIA SELECTION-SCREEN AND RETURN "#EC CI_SUBMIT
|
||||
WITH p_backfn = filename
|
||||
WITH rb_back = 'X'
|
||||
WITH rb_down = ' '
|
||||
|
|
|
@ -8,44 +8,44 @@
|
|||
|
||||
REPORT zangry_birds.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border,
|
||||
lo_style_color0 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color1 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color2 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color3 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color4 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color5 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color6 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color7 TYPE REF TO zcl_excel_style,
|
||||
lo_style_credit TYPE REF TO zcl_excel_style,
|
||||
lo_style_link TYPE REF TO zcl_excel_style,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border,
|
||||
lo_style_color0 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color1 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color2 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color3 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color4 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color5 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color6 TYPE REF TO zcl_excel_style,
|
||||
lo_style_color7 TYPE REF TO zcl_excel_style,
|
||||
lo_style_credit TYPE REF TO zcl_excel_style,
|
||||
lo_style_link TYPE REF TO zcl_excel_style,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
DATA: lv_style_color0_guid TYPE zexcel_cell_style,
|
||||
lv_style_color1_guid TYPE zexcel_cell_style,
|
||||
lv_style_color2_guid TYPE zexcel_cell_style,
|
||||
lv_style_color3_guid TYPE zexcel_cell_style,
|
||||
lv_style_color4_guid TYPE zexcel_cell_style,
|
||||
lv_style_color5_guid TYPE zexcel_cell_style,
|
||||
lv_style_color6_guid TYPE zexcel_cell_style,
|
||||
lv_style_color7_guid TYPE zexcel_cell_style,
|
||||
lv_style_credit_guid TYPE zexcel_cell_style,
|
||||
lv_style_link_guid TYPE zexcel_cell_style.
|
||||
DATA: lv_style_color0_guid TYPE zexcel_cell_style,
|
||||
lv_style_color1_guid TYPE zexcel_cell_style,
|
||||
lv_style_color2_guid TYPE zexcel_cell_style,
|
||||
lv_style_color3_guid TYPE zexcel_cell_style,
|
||||
lv_style_color4_guid TYPE zexcel_cell_style,
|
||||
lv_style_color5_guid TYPE zexcel_cell_style,
|
||||
lv_style_color6_guid TYPE zexcel_cell_style,
|
||||
lv_style_color7_guid TYPE zexcel_cell_style,
|
||||
lv_style_credit_guid TYPE zexcel_cell_style,
|
||||
lv_style_link_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lv_col_str TYPE zexcel_cell_column_alpha,
|
||||
lv_row TYPE i,
|
||||
lv_col TYPE i,
|
||||
lt_mapper TYPE TABLE OF zexcel_cell_style,
|
||||
ls_mapper TYPE zexcel_cell_style.
|
||||
DATA: lv_col_str TYPE zexcel_cell_column_alpha,
|
||||
lv_row TYPE i,
|
||||
lv_col TYPE i,
|
||||
lt_mapper TYPE TABLE OF zexcel_cell_style,
|
||||
ls_mapper TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
@ -155,17 +155,17 @@ START-OF-SELECTION.
|
|||
DO 30 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 3
|
||||
" line 3
|
||||
DO 28 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 5 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 4
|
||||
" line 4
|
||||
DO 27 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 5
|
||||
" line 5
|
||||
DO 9 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 15 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
|
@ -173,7 +173,7 @@ START-OF-SELECTION.
|
|||
DO 6 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 6
|
||||
" line 6
|
||||
DO 7 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 6 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 13 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
|
@ -183,7 +183,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 7
|
||||
" line 7
|
||||
DO 6 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 5 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -195,7 +195,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 8
|
||||
" line 8
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -209,7 +209,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 9
|
||||
" line 9
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -225,7 +225,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 10
|
||||
" line 10
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -240,7 +240,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 11
|
||||
" line 11
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -254,7 +254,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 12
|
||||
" line 12
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -271,7 +271,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 13
|
||||
" line 13
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -285,7 +285,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 14
|
||||
" line 14
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -297,7 +297,7 @@ START-OF-SELECTION.
|
|||
DO 12 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 15
|
||||
" line 15
|
||||
DO 6 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -309,7 +309,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 16
|
||||
" line 16
|
||||
DO 7 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 7 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -321,7 +321,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 17
|
||||
" line 17
|
||||
DO 8 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 6 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -331,7 +331,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 18
|
||||
" line 18
|
||||
DO 6 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 23 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -339,13 +339,13 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 19
|
||||
" line 19
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 27 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 20
|
||||
" line 20
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 23 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -353,7 +353,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 21
|
||||
" line 21
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -365,7 +365,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 22
|
||||
" line 22
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -377,7 +377,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 23
|
||||
" line 23
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -389,7 +389,7 @@ START-OF-SELECTION.
|
|||
DO 8 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 24
|
||||
" line 24
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
|
@ -403,7 +403,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 25
|
||||
" line 25
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -419,7 +419,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 26
|
||||
" line 26
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -440,7 +440,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 27
|
||||
" line 27
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -463,7 +463,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 28
|
||||
" line 28
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -490,7 +490,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 29
|
||||
" line 29
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -510,7 +510,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 30
|
||||
" line 30
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -533,7 +533,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 31
|
||||
" line 31
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color4_guid TO lt_mapper. ENDDO.
|
||||
|
@ -554,7 +554,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 32
|
||||
" line 32
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -567,7 +567,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 33
|
||||
" line 33
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -581,7 +581,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 34
|
||||
" line 34
|
||||
DO 3 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -591,7 +591,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 35
|
||||
" line 35
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -603,7 +603,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 1 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 36
|
||||
" line 36
|
||||
DO 4 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -614,7 +614,7 @@ START-OF-SELECTION.
|
|||
DO 11 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 37
|
||||
" line 37
|
||||
DO 5 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -625,7 +625,7 @@ START-OF-SELECTION.
|
|||
DO 11 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 38
|
||||
" line 38
|
||||
DO 6 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -635,7 +635,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 39
|
||||
" line 39
|
||||
DO 7 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 2 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -643,7 +643,7 @@ START-OF-SELECTION.
|
|||
DO 1 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 40
|
||||
" line 40
|
||||
DO 7 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -651,7 +651,7 @@ START-OF-SELECTION.
|
|||
DO 3 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 41
|
||||
" line 41
|
||||
DO 8 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 3 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -659,7 +659,7 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 42
|
||||
" line 42
|
||||
DO 9 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 5 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 6 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
|
@ -667,24 +667,24 @@ START-OF-SELECTION.
|
|||
DO 2 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 43
|
||||
" line 43
|
||||
DO 11 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 6 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 5 TIMES. APPEND lv_style_color3_guid TO lt_mapper. ENDDO.
|
||||
DO 7 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 44
|
||||
" line 44
|
||||
DO 13 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 6 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
DO 4 TIMES. APPEND lv_style_color2_guid TO lt_mapper. ENDDO.
|
||||
DO 8 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 45
|
||||
" line 45
|
||||
DO 16 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 13 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
" line 46
|
||||
" line 46
|
||||
DO 18 TIMES. APPEND lv_style_color0_guid TO lt_mapper. ENDDO.
|
||||
DO 8 TIMES. APPEND lv_style_color1_guid TO lt_mapper. ENDDO.
|
||||
APPEND INITIAL LINE TO lt_mapper. " escape
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
CLASS zcl_date_calculation DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: months_between_two_dates
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_incl_to TYPE flag
|
||||
EXPORTING
|
||||
e_month TYPE i.
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_incl_to TYPE flag
|
||||
EXPORTING
|
||||
e_month TYPE i.
|
||||
ENDCLASS. "ZCL_DATE_CALCULATION
|
||||
|
||||
|
||||
|
@ -29,14 +29,14 @@ CLASS zcl_date_calculation IMPLEMENTATION.
|
|||
DATA: date_to TYPE datum.
|
||||
DATA: BEGIN OF datum_von,
|
||||
jjjj(4) TYPE n,
|
||||
mm(2) TYPE n,
|
||||
tt(2) TYPE n,
|
||||
mm(2) TYPE n,
|
||||
tt(2) TYPE n,
|
||||
END OF datum_von.
|
||||
|
||||
DATA: BEGIN OF datum_bis,
|
||||
jjjj(4) TYPE n,
|
||||
mm(2) TYPE n,
|
||||
tt(2) TYPE n,
|
||||
mm(2) TYPE n,
|
||||
tt(2) TYPE n,
|
||||
END OF datum_bis.
|
||||
|
||||
e_month = 0.
|
||||
|
@ -107,52 +107,52 @@ ENDCLASS. "zcl_date_calculation_test IMPLEMENTATION
|
|||
CLASS zcl_helper DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
load_image
|
||||
IMPORTING
|
||||
filename TYPE string
|
||||
RETURNING value(r_image) TYPE xstring,
|
||||
add_calendar
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
i_day_style TYPE zexcel_cell_style
|
||||
i_cw_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_calendar_landscape
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
i_day_style TYPE zexcel_cell_style
|
||||
i_cw_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_a2x_footer
|
||||
IMPORTING
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_calender_week
|
||||
IMPORTING
|
||||
i_date TYPE datum
|
||||
i_row TYPE zexcel_cell_row
|
||||
i_col TYPE zexcel_cell_column_alpha
|
||||
i_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel.
|
||||
load_image
|
||||
IMPORTING
|
||||
filename TYPE string
|
||||
RETURNING VALUE(r_image) TYPE xstring,
|
||||
add_calendar
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
i_day_style TYPE zexcel_cell_style
|
||||
i_cw_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_calendar_landscape
|
||||
IMPORTING
|
||||
i_date_from TYPE datum
|
||||
i_date_to TYPE datum
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
i_day_style TYPE zexcel_cell_style
|
||||
i_cw_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_a2x_footer
|
||||
IMPORTING
|
||||
i_from_row TYPE zexcel_cell_row
|
||||
i_from_col TYPE zexcel_cell_column_alpha
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel,
|
||||
add_calender_week
|
||||
IMPORTING
|
||||
i_date TYPE datum
|
||||
i_row TYPE zexcel_cell_row
|
||||
i_col TYPE zexcel_cell_column_alpha
|
||||
i_style TYPE zexcel_cell_style
|
||||
CHANGING
|
||||
c_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
zcx_excel.
|
||||
ENDCLASS. "zcl_helper DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -216,21 +216,21 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
ENDMETHOD. "load_image
|
||||
METHOD add_calendar.
|
||||
DATA: day_names TYPE TABLE OF t246.
|
||||
DATA: row TYPE zexcel_cell_row,
|
||||
row_max TYPE i,
|
||||
col_int TYPE zexcel_cell_column,
|
||||
col_max TYPE i,
|
||||
from_col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lv_date TYPE datum,
|
||||
value TYPE string,
|
||||
weekday TYPE wotnr,
|
||||
weekrow TYPE wotnr VALUE 1,
|
||||
day TYPE i,
|
||||
width TYPE f,
|
||||
height TYPE f.
|
||||
DATA: row TYPE zexcel_cell_row,
|
||||
row_max TYPE i,
|
||||
col_int TYPE zexcel_cell_column,
|
||||
col_max TYPE i,
|
||||
from_col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lv_date TYPE datum,
|
||||
value TYPE string,
|
||||
weekday TYPE wotnr,
|
||||
weekrow TYPE wotnr VALUE 1,
|
||||
day TYPE i,
|
||||
width TYPE f,
|
||||
height TYPE f.
|
||||
DATA: hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
FIELD-SYMBOLS: <day_name> LIKE LINE OF day_names.
|
||||
|
@ -345,7 +345,7 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
ENDWHILE.
|
||||
ENDMETHOD. "add_calendar
|
||||
METHOD add_a2x_footer.
|
||||
DATA: value TYPE string,
|
||||
DATA: value TYPE string,
|
||||
hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
value = 'Created with abap2xlsx. Find more information at https://github.com/sapmentors/abap2xlsx.'(002).
|
||||
|
@ -362,16 +362,16 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
METHOD add_calendar_landscape.
|
||||
DATA: day_names TYPE TABLE OF t246.
|
||||
|
||||
DATA: lv_date TYPE datum,
|
||||
day TYPE i,
|
||||
value TYPE string,
|
||||
weekday TYPE wotnr.
|
||||
DATA: row TYPE zexcel_cell_row,
|
||||
from_col_int TYPE zexcel_cell_column,
|
||||
col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha.
|
||||
DATA: lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lv_date TYPE datum,
|
||||
day TYPE i,
|
||||
value TYPE string,
|
||||
weekday TYPE wotnr.
|
||||
DATA: row TYPE zexcel_cell_row,
|
||||
from_col_int TYPE zexcel_cell_column,
|
||||
col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha.
|
||||
DATA: lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
FIELD-SYMBOLS: <day_name> LIKE LINE OF day_names.
|
||||
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
REPORT zdemo_excel1.
|
||||
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '01_HelloWorld.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
|
||||
REPORT zdemo_excel10.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings,
|
||||
ls_iconset TYPE zexcel_conditional_iconset.
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings,
|
||||
ls_iconset TYPE zexcel_conditional_iconset.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '10_iTabFieldCatalog.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
@ -52,7 +52,7 @@ START-OF-SELECTION.
|
|||
lo_style_cond->priority = 1.
|
||||
|
||||
DATA lt_test TYPE TABLE OF sflight.
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
|
||||
lt_field_catalog = zcl_excel_common=>get_fieldcatalog( ip_table = lt_test ).
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@ REPORT zdemo_excel11.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: central_search TYPE bapibus1006_central_search,
|
||||
DATA: central_search TYPE bapibus1006_central_search,
|
||||
addressdata_search TYPE bapibus1006_addr_search,
|
||||
others_search TYPE bapibus1006_other_data.
|
||||
others_search TYPE bapibus1006_other_data.
|
||||
DATA: searchresult TYPE TABLE OF bapibus1006_bp_addr,
|
||||
return TYPE TABLE OF bapiret2.
|
||||
return TYPE TABLE OF bapiret2.
|
||||
DATA: lines TYPE i.
|
||||
FIELD-SYMBOLS: <searchresult_line> LIKE LINE OF searchresult.
|
||||
DATA: centraldata TYPE bapibus1006_central,
|
||||
|
@ -36,7 +36,7 @@ INCLUDE zdemo_excel_outputopt_incl.
|
|||
|
||||
PARAMETERS: md TYPE flag RADIOBUTTON GROUP act.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-00a.
|
||||
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE TEXT-00a.
|
||||
PARAMETERS: partnerc TYPE bu_type DEFAULT 2, " Organizations
|
||||
postlcod TYPE ad_pstcd1 DEFAULT '8334*',
|
||||
country TYPE land1 DEFAULT 'DE',
|
||||
|
@ -45,8 +45,8 @@ SELECTION-SCREEN END OF BLOCK a.
|
|||
|
||||
PARAMETERS: rel TYPE flag RADIOBUTTON GROUP act DEFAULT 'X'.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-00b.
|
||||
PARAMETERS: reltyp TYPE bu_reltyp DEFAULT 'BUR011',
|
||||
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE TEXT-00b.
|
||||
PARAMETERS: reltyp TYPE bu_reltyp DEFAULT 'BUR011',
|
||||
partner TYPE bu_partner DEFAULT '191'.
|
||||
SELECTION-SCREEN END OF BLOCK b.
|
||||
|
||||
|
@ -63,7 +63,7 @@ START-OF-SELECTION.
|
|||
EXPORTING
|
||||
centraldata = central_search
|
||||
addressdata = addressdata_search
|
||||
OTHERS = others_search
|
||||
others = others_search
|
||||
TABLES
|
||||
searchresult = searchresult
|
||||
return = return.
|
||||
|
@ -187,20 +187,20 @@ START-OF-SELECTION.
|
|||
|
||||
ENDLOOP.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_body TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_body TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: lv_style_body_even_guid TYPE zexcel_cell_style,
|
||||
lv_style_body_green TYPE zexcel_cell_style.
|
||||
DATA: lv_style_body_even_guid TYPE zexcel_cell_style,
|
||||
lv_style_body_green TYPE zexcel_cell_style.
|
||||
|
||||
DATA: row TYPE zexcel_cell_row.
|
||||
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings.
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings.
|
||||
|
||||
DATA: column TYPE zexcel_cell_column,
|
||||
column_alpha TYPE zexcel_cell_column_alpha,
|
||||
|
@ -358,8 +358,8 @@ START-OF-SELECTION.
|
|||
lo_row->set_visible( abap_false ).
|
||||
|
||||
DATA: highest_column TYPE zexcel_cell_column,
|
||||
count TYPE int4,
|
||||
col_alpha TYPE zexcel_cell_column_alpha.
|
||||
count TYPE int4,
|
||||
col_alpha TYPE zexcel_cell_column_alpha.
|
||||
|
||||
highest_column = lo_worksheet->get_highest_column( ).
|
||||
count = 1.
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
REPORT zdemo_excel12.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
REPORT zdemo_excel13.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lv_style_bold_border_guid TYPE zexcel_cell_style,
|
||||
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
||||
lo_style_bold_border TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '13_MergedCells.xlsx'.
|
||||
|
|
|
@ -8,34 +8,34 @@
|
|||
|
||||
REPORT zdemo_excel14.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_center TYPE REF TO zcl_excel_style,
|
||||
lo_style_right TYPE REF TO zcl_excel_style,
|
||||
lo_style_left TYPE REF TO zcl_excel_style,
|
||||
lo_style_general TYPE REF TO zcl_excel_style,
|
||||
lo_style_bottom TYPE REF TO zcl_excel_style,
|
||||
lo_style_middle TYPE REF TO zcl_excel_style,
|
||||
lo_style_top TYPE REF TO zcl_excel_style,
|
||||
lo_style_justify TYPE REF TO zcl_excel_style,
|
||||
lo_style_mixed TYPE REF TO zcl_excel_style,
|
||||
lo_style_mixed_wrap TYPE REF TO zcl_excel_style,
|
||||
lo_style_rotated TYPE REF TO zcl_excel_style,
|
||||
lo_style_shrink TYPE REF TO zcl_excel_style,
|
||||
lo_style_indent TYPE REF TO zcl_excel_style,
|
||||
lv_style_center_guid TYPE zexcel_cell_style,
|
||||
lv_style_right_guid TYPE zexcel_cell_style,
|
||||
lv_style_left_guid TYPE zexcel_cell_style,
|
||||
lv_style_general_guid TYPE zexcel_cell_style,
|
||||
lv_style_bottom_guid TYPE zexcel_cell_style,
|
||||
lv_style_middle_guid TYPE zexcel_cell_style,
|
||||
lv_style_top_guid TYPE zexcel_cell_style,
|
||||
lv_style_justify_guid TYPE zexcel_cell_style,
|
||||
lv_style_mixed_guid TYPE zexcel_cell_style,
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_center TYPE REF TO zcl_excel_style,
|
||||
lo_style_right TYPE REF TO zcl_excel_style,
|
||||
lo_style_left TYPE REF TO zcl_excel_style,
|
||||
lo_style_general TYPE REF TO zcl_excel_style,
|
||||
lo_style_bottom TYPE REF TO zcl_excel_style,
|
||||
lo_style_middle TYPE REF TO zcl_excel_style,
|
||||
lo_style_top TYPE REF TO zcl_excel_style,
|
||||
lo_style_justify TYPE REF TO zcl_excel_style,
|
||||
lo_style_mixed TYPE REF TO zcl_excel_style,
|
||||
lo_style_mixed_wrap TYPE REF TO zcl_excel_style,
|
||||
lo_style_rotated TYPE REF TO zcl_excel_style,
|
||||
lo_style_shrink TYPE REF TO zcl_excel_style,
|
||||
lo_style_indent TYPE REF TO zcl_excel_style,
|
||||
lv_style_center_guid TYPE zexcel_cell_style,
|
||||
lv_style_right_guid TYPE zexcel_cell_style,
|
||||
lv_style_left_guid TYPE zexcel_cell_style,
|
||||
lv_style_general_guid TYPE zexcel_cell_style,
|
||||
lv_style_bottom_guid TYPE zexcel_cell_style,
|
||||
lv_style_middle_guid TYPE zexcel_cell_style,
|
||||
lv_style_top_guid TYPE zexcel_cell_style,
|
||||
lv_style_justify_guid TYPE zexcel_cell_style,
|
||||
lv_style_mixed_guid TYPE zexcel_cell_style,
|
||||
lv_style_mixed_wrap_guid TYPE zexcel_cell_style,
|
||||
lv_style_rotated_guid TYPE zexcel_cell_style,
|
||||
lv_style_shrink_guid TYPE zexcel_cell_style,
|
||||
lv_style_indent_guid TYPE zexcel_cell_style.
|
||||
lv_style_rotated_guid TYPE zexcel_cell_style,
|
||||
lv_style_shrink_guid TYPE zexcel_cell_style,
|
||||
lv_style_indent_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
REPORT zdemo_excel16.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
|
||||
|
||||
DATA: ls_io TYPE skwf_io.
|
||||
|
@ -18,9 +18,9 @@ DATA: ls_io TYPE skwf_io.
|
|||
CONSTANTS: gc_save_file_name TYPE string VALUE '16_Drawings.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
||||
PARAMETERS: p_objid TYPE sdok_docid DEFAULT '456694429165174BE10000000A1550C0', " Question mark in standard Web Dynpro WDT_QUIZ
|
||||
p_class TYPE sdok_class DEFAULT 'M_IMAGE_P',
|
||||
pobjtype TYPE skwf_ioty DEFAULT 'P'.
|
||||
PARAMETERS: p_objid TYPE sdok_docid DEFAULT '456694429165174BE10000000A1550C0', " Question mark in standard Web Dynpro WDT_QUIZ
|
||||
p_class TYPE sdok_class DEFAULT 'M_IMAGE_P',
|
||||
pobjtype TYPE skwf_ioty DEFAULT 'P'.
|
||||
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
@ -29,10 +29,10 @@ START-OF-SELECTION.
|
|||
CREATE OBJECT lo_excel.
|
||||
|
||||
"Load samle image
|
||||
DATA: lt_bin TYPE solix_tab,
|
||||
lv_len TYPE i,
|
||||
DATA: lt_bin TYPE solix_tab,
|
||||
lv_len TYPE i,
|
||||
lv_content TYPE xstring,
|
||||
ls_key TYPE wwwdatatab.
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
CALL METHOD cl_gui_frontend_services=>gui_upload
|
||||
EXPORTING
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
|
||||
REPORT zdemo_excel17.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_protection TYPE REF TO zcl_excel_style,
|
||||
lv_style_protection_guid TYPE zexcel_cell_style,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lv_style TYPE zexcel_cell_style.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_protection TYPE REF TO zcl_excel_style,
|
||||
lv_style_protection_guid TYPE zexcel_cell_style,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lv_style TYPE zexcel_cell_style.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '17_SheetProtection.xlsx'.
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
REPORT zdemo_excel18.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lv_style_protection_guid TYPE zexcel_cell_style.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lv_style_protection_guid TYPE zexcel_cell_style.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '18_BookProtection.xlsx'.
|
||||
|
|
|
@ -10,8 +10,8 @@ REPORT zdemo_excel19.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '19_SetActiveSheet.xlsx'.
|
||||
|
|
|
@ -8,41 +8,41 @@
|
|||
|
||||
REPORT zdemo_excel2.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_bold TYPE REF TO zcl_excel_style,
|
||||
lo_style_underline TYPE REF TO zcl_excel_style,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style,
|
||||
lo_style_border TYPE REF TO zcl_excel_style,
|
||||
lo_style_button TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_bold TYPE REF TO zcl_excel_style,
|
||||
lo_style_underline TYPE REF TO zcl_excel_style,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style,
|
||||
lo_style_border TYPE REF TO zcl_excel_style,
|
||||
lo_style_button TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border.
|
||||
|
||||
DATA: lv_style_bold_guid TYPE zexcel_cell_style,
|
||||
lv_style_underline_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_border_guid TYPE zexcel_cell_style,
|
||||
lv_style_button_guid TYPE zexcel_cell_style,
|
||||
DATA: lv_style_bold_guid TYPE zexcel_cell_style,
|
||||
lv_style_underline_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_border_guid TYPE zexcel_cell_style,
|
||||
lv_style_button_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_turquoise_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerlb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerlt_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerrb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerrt_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_horizontal90_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerlb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerlt_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerrb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_cornerrt_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_horizontal90_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_horizontal270_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_horizontalb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_vertical_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_vertical2_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_fromcenter_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal45_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal45b_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal135_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal135b_guid TYPE zexcel_cell_style .
|
||||
lv_style_gr_horizontalb_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_vertical_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_vertical2_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_fromcenter_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal45_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal45b_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal135_guid TYPE zexcel_cell_style,
|
||||
lv_style_gr_diagonal135b_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -32,15 +32,15 @@ ENDCLASS. "lcl_handle_events IMPLEMENTATION
|
|||
* DATA DECLARATION
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_alv TYPE REF TO cl_gui_alv_grid,
|
||||
lo_salv TYPE REF TO cl_salv_table,
|
||||
gr_events TYPE REF TO lcl_handle_events,
|
||||
lr_events TYPE REF TO cl_salv_events_table,
|
||||
gt_sbook TYPE TABLE OF sbook,
|
||||
gt_listheader TYPE slis_t_listheader,
|
||||
wa_listheader LIKE LINE OF gt_listheader.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_alv TYPE REF TO cl_gui_alv_grid,
|
||||
lo_salv TYPE REF TO cl_salv_table,
|
||||
gr_events TYPE REF TO lcl_handle_events,
|
||||
lr_events TYPE REF TO cl_salv_events_table,
|
||||
gt_sbook TYPE TABLE OF sbook,
|
||||
gt_listheader TYPE slis_t_listheader,
|
||||
wa_listheader LIKE LINE OF gt_listheader.
|
||||
|
||||
DATA: l_path TYPE string, " local dir
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -14,9 +14,9 @@ TYPES:
|
|||
style TYPE zexcel_cell_style,
|
||||
END OF t_color_style.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style.
|
||||
|
||||
DATA: color_styles TYPE TABLE OF t_color_style.
|
||||
|
||||
|
@ -36,7 +36,7 @@ DATA: red TYPE i,
|
|||
blue_str TYPE string.
|
||||
|
||||
DATA: color TYPE zexcel_style_color_argb,
|
||||
tint TYPE zexcel_style_color_tint.
|
||||
tint TYPE zexcel_style_color_tint.
|
||||
|
||||
DATA: row TYPE i,
|
||||
row_tmp TYPE i,
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
REPORT zdemo_excel22.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lo_style_date TYPE REF TO zcl_excel_style,
|
||||
lo_style_editable TYPE REF TO zcl_excel_style,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lo_style_date TYPE REF TO zcl_excel_style,
|
||||
lo_style_editable TYPE REF TO zcl_excel_style,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings,
|
||||
ls_table_settings_out TYPE zexcel_s_table_settings.
|
||||
DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
|
||||
ls_table_settings TYPE zexcel_s_table_settings,
|
||||
ls_table_settings_out TYPE zexcel_s_table_settings.
|
||||
|
||||
DATA: lv_style_guid TYPE zexcel_cell_style.
|
||||
|
||||
|
@ -39,7 +39,7 @@ START-OF-SELECTION.
|
|||
lo_worksheet->set_title( ip_title = 'PN_MASSIVE' ).
|
||||
|
||||
DATA lt_test TYPE TABLE OF sflight.
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
|
||||
" sheet style (white background)
|
||||
lo_style = lo_excel->add_new_style( ).
|
||||
|
|
|
@ -10,9 +10,9 @@ REPORT zdemo_excel23.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '23_Sheets_with_and_without_grid_lines.xlsx'.
|
||||
|
@ -36,7 +36,7 @@ START-OF-SELECTION.
|
|||
|
||||
lo_worksheet->zif_excel_sheet_protection~protected = zif_excel_sheet_protection=>c_protected.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale = 150.
|
||||
lo_worksheet->ZIF_EXCEL_SHEET_PROPERTIES~ZOOMSCALE_NORMAL = 150.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale_normal = 150.
|
||||
|
||||
lo_worksheet->sheet_setup->vertical_centered = abap_true.
|
||||
lo_worksheet->sheet_setup->horizontal_centered = abap_true.
|
||||
|
@ -53,7 +53,7 @@ START-OF-SELECTION.
|
|||
|
||||
lo_worksheet->zif_excel_sheet_protection~protected = zif_excel_sheet_protection=>c_protected.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale = 160.
|
||||
lo_worksheet->ZIF_EXCEL_SHEET_PROPERTIES~ZOOMSCALE_PAGELAYOUTVIEW = 200.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale_pagelayoutview = 200.
|
||||
|
||||
" Third sheet
|
||||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
|
@ -67,7 +67,7 @@ START-OF-SELECTION.
|
|||
|
||||
lo_worksheet->zif_excel_sheet_protection~protected = zif_excel_sheet_protection=>c_protected.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale = 170.
|
||||
lo_worksheet->ZIF_EXCEL_SHEET_PROPERTIES~ZOOMSCALE_SHEETLAYOUTVIEW = 150.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale_sheetlayoutview = 150.
|
||||
|
||||
" Fourth sheet
|
||||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
|
@ -80,9 +80,9 @@ START-OF-SELECTION.
|
|||
|
||||
lo_worksheet->zif_excel_sheet_protection~protected = zif_excel_sheet_protection=>c_protected.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale = 150.
|
||||
lo_worksheet->ZIF_EXCEL_SHEET_PROPERTIES~ZOOMSCALE_NORMAL = 150.
|
||||
lo_worksheet->zif_excel_sheet_properties~zoomscale_normal = 150.
|
||||
|
||||
" lo_worksheet->sheet_setup->vertical_centered = abap_true.
|
||||
" lo_worksheet->sheet_setup->vertical_centered = abap_true.
|
||||
lo_worksheet->sheet_setup->horizontal_centered = abap_true.
|
||||
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@ REPORT zdemo_excel24.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
@ -64,7 +64,7 @@ START-OF-SELECTION.
|
|||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
" TODO: It seems that the zcl_excel_style_number_format=>c_format_date_yyyymmddslash
|
||||
" does not produce a valid output
|
||||
lo_worksheet->set_default_excel_date_format( zcl_excel_style_number_format=>c_format_date_yyyymmddslash ).
|
||||
lo_worksheet->set_default_excel_date_format( zcl_excel_style_number_format=>c_format_date_yyyymmddslash ).
|
||||
lo_worksheet->set_title( ip_title = 'Sheet3' ).
|
||||
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Date Format set to YYYY/MM/DD' ).
|
||||
" Insert current date
|
||||
|
@ -81,7 +81,7 @@ START-OF-SELECTION.
|
|||
" http://support.microsoft.com/kb/214326/en-us
|
||||
lo_worksheet->set_title( ip_title = 'Sheet4' ).
|
||||
" Loop from Start Date to the Max Date current data in daily steps
|
||||
CONSTANTS: lv_max type d VALUE '19000302'.
|
||||
CONSTANTS: lv_max TYPE d VALUE '19000302'.
|
||||
|
||||
DATA: lv_date TYPE d VALUE '19000226',
|
||||
lv_row TYPE i.
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
REPORT zdemo_excel25.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_exception TYPE REF TO cx_root.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_exception TYPE REF TO cx_root.
|
||||
|
||||
DATA: lv_file TYPE xstring.
|
||||
|
||||
|
|
|
@ -4,88 +4,88 @@
|
|||
* export data from ALV (CL_GUI_ALV_GRID) object or cl_salv_table object
|
||||
* to Excel.
|
||||
*--------------------------------------------------------------------*
|
||||
report zdemo_excel26.
|
||||
REPORT zdemo_excel26.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_handle_events DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class lcl_handle_events definition.
|
||||
public section.
|
||||
methods:
|
||||
on_user_command for event added_function of cl_salv_events
|
||||
importing e_salv_function.
|
||||
endclass. "lcl_handle_events DEFINITION
|
||||
CLASS lcl_handle_events DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
on_user_command FOR EVENT added_function OF cl_salv_events
|
||||
IMPORTING e_salv_function.
|
||||
ENDCLASS. "lcl_handle_events DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_handle_events IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class lcl_handle_events implementation.
|
||||
method on_user_command.
|
||||
perform user_command." using e_salv_function text-i08.
|
||||
endmethod. "on_user_command
|
||||
endclass. "lcl_handle_events IMPLEMENTATION
|
||||
CLASS lcl_handle_events IMPLEMENTATION.
|
||||
METHOD on_user_command.
|
||||
PERFORM user_command." using e_salv_function text-i08.
|
||||
ENDMETHOD. "on_user_command
|
||||
ENDCLASS. "lcl_handle_events IMPLEMENTATION
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* DATA DECLARATION
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
data: lo_excel type ref to zcl_excel,
|
||||
lo_worksheet type ref to zcl_excel_worksheet,
|
||||
lo_salv type ref to cl_salv_table,
|
||||
gr_events type ref to lcl_handle_events,
|
||||
lr_events type ref to cl_salv_events_table,
|
||||
gt_sbook type table of sbook.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_salv TYPE REF TO cl_salv_table,
|
||||
gr_events TYPE REF TO lcl_handle_events,
|
||||
lr_events TYPE REF TO cl_salv_events_table,
|
||||
gt_sbook TYPE TABLE OF sbook.
|
||||
|
||||
data: l_path type string, " local dir
|
||||
lv_workdir type string,
|
||||
lv_file_separator type c.
|
||||
DATA: l_path TYPE string, " local dir
|
||||
lv_workdir TYPE string,
|
||||
lv_file_separator TYPE c.
|
||||
|
||||
constants:
|
||||
lv_default_file_name type string value '26_Bind_ALV.xlsx'.
|
||||
CONSTANTS:
|
||||
lv_default_file_name TYPE string VALUE '26_Bind_ALV.xlsx'.
|
||||
*--------------------------------------------------------------------*
|
||||
*START-OF-SELECTION
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
start-of-selection.
|
||||
START-OF-SELECTION.
|
||||
|
||||
* get data
|
||||
* ------------------------------------------
|
||||
|
||||
select *
|
||||
into table gt_sbook[]
|
||||
from sbook "#EC CI_NOWHERE
|
||||
up to 10 rows.
|
||||
SELECT *
|
||||
INTO TABLE gt_sbook[]
|
||||
FROM sbook "#EC CI_NOWHERE
|
||||
UP TO 10 ROWS.
|
||||
|
||||
* Display ALV
|
||||
* ------------------------------------------
|
||||
|
||||
try.
|
||||
TRY.
|
||||
cl_salv_table=>factory(
|
||||
exporting
|
||||
EXPORTING
|
||||
list_display = abap_false
|
||||
importing
|
||||
IMPORTING
|
||||
r_salv_table = lo_salv
|
||||
changing
|
||||
CHANGING
|
||||
t_table = gt_sbook[] ).
|
||||
catch cx_salv_msg .
|
||||
endtry.
|
||||
CATCH cx_salv_msg .
|
||||
ENDTRY.
|
||||
|
||||
try.
|
||||
TRY.
|
||||
lo_salv->set_screen_status(
|
||||
exporting
|
||||
EXPORTING
|
||||
report = sy-repid
|
||||
pfstatus = 'ALV_STATUS'
|
||||
set_functions = lo_salv->c_functions_all ).
|
||||
catch cx_salv_msg .
|
||||
endtry.
|
||||
CATCH cx_salv_msg .
|
||||
ENDTRY.
|
||||
|
||||
lr_events = lo_salv->get_event( ).
|
||||
create object gr_events.
|
||||
set handler gr_events->on_user_command for lr_events.
|
||||
CREATE OBJECT gr_events.
|
||||
SET HANDLER gr_events->on_user_command FOR lr_events.
|
||||
|
||||
lo_salv->display( ).
|
||||
|
||||
|
@ -95,60 +95,60 @@ start-of-selection.
|
|||
*&---------------------------------------------------------------------*
|
||||
* ALV user command
|
||||
*--------------------------------------------------------------------*
|
||||
form user_command .
|
||||
if sy-ucomm = 'EXCEL'.
|
||||
FORM user_command .
|
||||
IF sy-ucomm = 'EXCEL'.
|
||||
|
||||
* get save file path
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( changing sapworkdir = l_path ).
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = l_path ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
cl_gui_frontend_services=>directory_browse(
|
||||
exporting initial_folder = l_path
|
||||
changing selected_folder = l_path ).
|
||||
EXPORTING initial_folder = l_path
|
||||
CHANGING selected_folder = l_path ).
|
||||
|
||||
if l_path is initial.
|
||||
IF l_path IS INITIAL.
|
||||
cl_gui_frontend_services=>get_sapgui_workdir(
|
||||
changing sapworkdir = lv_workdir ).
|
||||
CHANGING sapworkdir = lv_workdir ).
|
||||
l_path = lv_workdir.
|
||||
endif.
|
||||
ENDIF.
|
||||
|
||||
cl_gui_frontend_services=>get_file_separator(
|
||||
changing file_separator = lv_file_separator ).
|
||||
CHANGING file_separator = lv_file_separator ).
|
||||
|
||||
concatenate l_path lv_file_separator lv_default_file_name
|
||||
into l_path.
|
||||
CONCATENATE l_path lv_file_separator lv_default_file_name
|
||||
INTO l_path.
|
||||
|
||||
* export file to save file path
|
||||
perform export_to_excel.
|
||||
PERFORM export_to_excel.
|
||||
|
||||
endif.
|
||||
endform. " USER_COMMAND
|
||||
ENDIF.
|
||||
ENDFORM. " USER_COMMAND
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* FORM EXPORT_TO_EXCEL
|
||||
*--------------------------------------------------------------------*
|
||||
* This subroutine is principal demo session
|
||||
*--------------------------------------------------------------------*
|
||||
form export_to_excel raising zcx_excel.
|
||||
FORM export_to_excel RAISING zcx_excel.
|
||||
* create zcl_excel_worksheet object
|
||||
|
||||
create object lo_excel.
|
||||
CREATE OBJECT lo_excel.
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Sheet1' ).
|
||||
|
||||
* write to excel using method Bin_object
|
||||
try.
|
||||
TRY.
|
||||
lo_worksheet->bind_alv(
|
||||
io_alv = lo_salv
|
||||
it_table = gt_sbook
|
||||
i_top = 2
|
||||
i_left = 1
|
||||
).
|
||||
catch zcx_excel .
|
||||
endtry.
|
||||
CATCH zcx_excel .
|
||||
ENDTRY.
|
||||
|
||||
perform write_file.
|
||||
PERFORM write_file.
|
||||
|
||||
endform. "EXPORT_TO_EXCEL
|
||||
ENDFORM. "EXPORT_TO_EXCEL
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Form WRITE_FILE
|
||||
*&---------------------------------------------------------------------*
|
||||
|
@ -157,44 +157,44 @@ endform. "EXPORT_TO_EXCEL
|
|||
* --> p1 text
|
||||
* <-- p2 text
|
||||
*----------------------------------------------------------------------*
|
||||
form write_file .
|
||||
data: lt_file type solix_tab,
|
||||
l_bytecount type i,
|
||||
l_file type xstring.
|
||||
FORM write_file .
|
||||
DATA: lt_file TYPE solix_tab,
|
||||
l_bytecount TYPE i,
|
||||
l_file TYPE xstring.
|
||||
|
||||
data: lo_excel_writer type ref to zif_excel_writer.
|
||||
DATA: lo_excel_writer TYPE REF TO zif_excel_writer.
|
||||
|
||||
data: ls_seoclass type seoclass.
|
||||
DATA: ls_seoclass TYPE seoclass.
|
||||
|
||||
create object lo_excel_writer type zcl_excel_writer_2007.
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
l_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
||||
select single * into ls_seoclass
|
||||
from seoclass
|
||||
where clsname = 'CL_BCS_CONVERT'.
|
||||
SELECT SINGLE * INTO ls_seoclass
|
||||
FROM seoclass
|
||||
WHERE clsname = 'CL_BCS_CONVERT'.
|
||||
|
||||
if sy-subrc = 0.
|
||||
call method (ls_seoclass-clsname)=>xstring_to_solix
|
||||
exporting
|
||||
IF sy-subrc = 0.
|
||||
CALL METHOD (ls_seoclass-clsname)=>xstring_to_solix
|
||||
EXPORTING
|
||||
iv_xstring = l_file
|
||||
receiving
|
||||
RECEIVING
|
||||
et_solix = lt_file.
|
||||
|
||||
l_bytecount = xstrlen( l_file ).
|
||||
else.
|
||||
ELSE.
|
||||
" Convert to binary
|
||||
call function 'SCMS_XSTRING_TO_BINARY'
|
||||
exporting
|
||||
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
|
||||
EXPORTING
|
||||
buffer = l_file
|
||||
importing
|
||||
IMPORTING
|
||||
output_length = l_bytecount
|
||||
tables
|
||||
TABLES
|
||||
binary_tab = lt_file.
|
||||
endif.
|
||||
ENDIF.
|
||||
|
||||
cl_gui_frontend_services=>gui_download( exporting bin_filesize = l_bytecount
|
||||
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = l_bytecount
|
||||
filename = l_path
|
||||
filetype = 'BIN'
|
||||
changing data_tab = lt_file ).
|
||||
CHANGING data_tab = lt_file ).
|
||||
|
||||
endform. " WRITE_FILE
|
||||
ENDFORM. " WRITE_FILE
|
||||
|
|
|
@ -10,16 +10,16 @@ REPORT zdemo_excel27.
|
|||
|
||||
CONSTANTS: c_fish TYPE string VALUE 'Fish'.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond,
|
||||
lo_style_1 TYPE REF TO zcl_excel_style,
|
||||
lo_style_2 TYPE REF TO zcl_excel_style,
|
||||
lv_style_1_guid TYPE zexcel_cell_style,
|
||||
lv_style_2_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond,
|
||||
lo_style_1 TYPE REF TO zcl_excel_style,
|
||||
lo_style_2 TYPE REF TO zcl_excel_style,
|
||||
lv_style_1_guid TYPE zexcel_cell_style,
|
||||
lv_style_2_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis.
|
||||
|
||||
|
||||
DATA: lv_title TYPE zexcel_sheet_title.
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
|
||||
REPORT zdemo_excel28.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -8,24 +8,24 @@
|
|||
|
||||
REPORT zdemo_excel29.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_excel_reader TYPE REF TO zif_excel_reader.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_excel_reader TYPE REF TO zif_excel_reader.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_filename TYPE string,
|
||||
lv_workdir TYPE string.
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_filename TYPE string,
|
||||
lv_workdir TYPE string.
|
||||
|
||||
PARAMETERS: p_path TYPE zexcel_export_dir OBLIGATORY.
|
||||
|
||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||
|
||||
DATA: lt_filetable TYPE filetable,
|
||||
lv_rc TYPE i.
|
||||
lv_rc TYPE i.
|
||||
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
|
|
|
@ -10,16 +10,16 @@ REPORT zdemo_excel3.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
DATA: ls_table_settings TYPE zexcel_s_table_settings.
|
||||
|
||||
|
||||
DATA: lv_title TYPE zexcel_sheet_title,
|
||||
lt_carr TYPE TABLE OF scarr,
|
||||
row TYPE zexcel_cell_row VALUE 2,
|
||||
row TYPE zexcel_cell_row VALUE 2,
|
||||
lo_range TYPE REF TO zcl_excel_range.
|
||||
DATA: lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||
FIELD-SYMBOLS: <carr> LIKE LINE OF lt_carr.
|
||||
|
@ -43,7 +43,7 @@ START-OF-SELECTION.
|
|||
DATA lt_test TYPE TABLE OF sflight.
|
||||
|
||||
IF p_empty <> abap_true.
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
|
||||
ENDIF.
|
||||
|
||||
ls_table_settings-table_style = zcl_excel_table=>builtinstyle_medium2.
|
||||
|
@ -62,7 +62,7 @@ START-OF-SELECTION.
|
|||
lv_title = 'Data Validation'.
|
||||
lo_worksheet->set_title( lv_title ).
|
||||
lo_worksheet->set_cell( ip_row = 1 ip_column = 'A' ip_value = c_airlines ).
|
||||
SELECT * FROM scarr INTO TABLE lt_carr. "#EC CI_NOWHERE
|
||||
SELECT * FROM scarr INTO TABLE lt_carr. "#EC CI_NOWHERE
|
||||
LOOP AT lt_carr ASSIGNING <carr>.
|
||||
lo_worksheet->set_cell( ip_row = row ip_column = 'A' ip_value = <carr>-carrid ).
|
||||
row = row + 1.
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
REPORT zdemo_excel30.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
|
||||
DATA: lv_value TYPE string,
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
REPORT zdemo_excel31.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_column TYPE REF TO zcl_excel_column.
|
||||
|
||||
|
||||
DATA: fieldval TYPE text80,
|
||||
|
|
|
@ -10,10 +10,10 @@ REPORT zdemo_excel33.
|
|||
|
||||
TYPE-POOLS: abap.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_converter TYPE REF TO zcl_excel_converter,
|
||||
lo_autofilter TYPE REF TO zcl_excel_autofilter.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_converter TYPE REF TO zcl_excel_converter,
|
||||
lo_autofilter TYPE REF TO zcl_excel_autofilter.
|
||||
|
||||
DATA lt_test TYPE TABLE OF t005t.
|
||||
|
||||
|
|
|
@ -11,24 +11,24 @@ REPORT zdemo_excel34.
|
|||
CONSTANTS: width TYPE f VALUE '10.14'.
|
||||
CONSTANTS: height TYPE f VALUE '57.75'.
|
||||
|
||||
DATA: current_row TYPE i,
|
||||
col TYPE i,
|
||||
col_alpha TYPE zexcel_cell_column_alpha,
|
||||
row TYPE i,
|
||||
row_board TYPE i,
|
||||
colorflag TYPE i,
|
||||
color TYPE zexcel_style_color_argb,
|
||||
DATA: current_row TYPE i,
|
||||
col TYPE i,
|
||||
col_alpha TYPE zexcel_cell_column_alpha,
|
||||
row TYPE i,
|
||||
row_board TYPE i,
|
||||
colorflag TYPE i,
|
||||
color TYPE zexcel_style_color_argb,
|
||||
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
|
||||
writing1 TYPE string,
|
||||
writing2 TYPE string.
|
||||
writing1 TYPE string,
|
||||
writing2 TYPE string.
|
||||
|
||||
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '34_Static Styles_Chess.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -8,28 +8,28 @@
|
|||
|
||||
REPORT zdemo_excel35.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_bold TYPE REF TO zcl_excel_style,
|
||||
lo_style_underline TYPE REF TO zcl_excel_style,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style,
|
||||
lo_style_border TYPE REF TO zcl_excel_style,
|
||||
lo_style_button TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_bold TYPE REF TO zcl_excel_style,
|
||||
lo_style_underline TYPE REF TO zcl_excel_style,
|
||||
lo_style_filled TYPE REF TO zcl_excel_style,
|
||||
lo_style_border TYPE REF TO zcl_excel_style,
|
||||
lo_style_button TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_border_light TYPE REF TO zcl_excel_style_border.
|
||||
|
||||
DATA: lv_style_bold_guid TYPE zexcel_cell_style,
|
||||
lv_style_underline_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_border_guid TYPE zexcel_cell_style,
|
||||
lv_style_button_guid TYPE zexcel_cell_style,
|
||||
DATA: lv_style_bold_guid TYPE zexcel_cell_style,
|
||||
lv_style_underline_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_border_guid TYPE zexcel_cell_style,
|
||||
lv_style_button_guid TYPE zexcel_cell_style,
|
||||
lv_style_filled_turquoise_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
@ -46,7 +46,7 @@ AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
|||
p_path = lv_workdir.
|
||||
|
||||
INITIALIZATION.
|
||||
cl_gui_frontend_services=>GET_DESKTOP_DIRECTORY( CHANGING DESKTOP_DIRECTORY = lv_workdir ).
|
||||
cl_gui_frontend_services=>get_desktop_directory( CHANGING desktop_directory = lv_workdir ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
p_path = lv_workdir.
|
||||
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
*& Report ZDEMO_EXCEL36
|
||||
REPORT zdemo_excel36.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
col TYPE i.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
col TYPE i.
|
||||
|
||||
DATA: lo_style_arial20 TYPE REF TO zcl_excel_style,
|
||||
lo_style_times11 TYPE REF TO zcl_excel_style,
|
||||
lo_style_cambria8red TYPE REF TO zcl_excel_style.
|
||||
DATA: lo_style_arial20 TYPE REF TO zcl_excel_style,
|
||||
lo_style_times11 TYPE REF TO zcl_excel_style,
|
||||
lo_style_cambria8red TYPE REF TO zcl_excel_style.
|
||||
|
||||
DATA: lv_style_arial20_guid TYPE zexcel_cell_style,
|
||||
lv_style_times11_guid TYPE zexcel_cell_style,
|
||||
|
|
|
@ -20,12 +20,12 @@ SELECTION-SCREEN END OF BLOCK blx.
|
|||
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK cls WITH FRAME TITLE text-cls.
|
||||
SELECTION-SCREEN BEGIN OF BLOCK cls WITH FRAME TITLE TEXT-cls.
|
||||
PARAMETERS: lb_read TYPE seoclsname AS LISTBOX VISIBLE LENGTH 40 LOWER CASE OBLIGATORY DEFAULT 'Autodetect'(001).
|
||||
PARAMETERS: lb_write TYPE seoclsname AS LISTBOX VISIBLE LENGTH 40 LOWER CASE OBLIGATORY DEFAULT 'Autodetect'(001).
|
||||
SELECTION-SCREEN END OF BLOCK cls.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK bl_err WITH FRAME TITLE text-err.
|
||||
SELECTION-SCREEN BEGIN OF BLOCK bl_err WITH FRAME TITLE TEXT-err.
|
||||
PARAMETERS: cb_errl AS CHECKBOX DEFAULT 'X'.
|
||||
SELECTION-SCREEN BEGIN OF LINE.
|
||||
PARAMETERS: cb_dump AS CHECKBOX DEFAULT space.
|
||||
|
@ -35,7 +35,7 @@ SELECTION-SCREEN END OF BLOCK bl_err.
|
|||
|
||||
INITIALIZATION.
|
||||
PERFORM setup_listboxes.
|
||||
cmt_dump = text-dum.
|
||||
cmt_dump = TEXT-dum.
|
||||
GET PARAMETER ID 'GR8' FIELD gv_memid_gr8.
|
||||
p_upfile = gv_memid_gr8.
|
||||
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
REPORT zdemo_excel38.
|
||||
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
|
||||
TYPES: BEGIN OF gty_icon,
|
||||
* name TYPE icon_name, "Fix #228
|
||||
name TYPE iconname, "Fix #228
|
||||
objid TYPE w3objid,
|
||||
name TYPE iconname, "Fix #228
|
||||
objid TYPE w3objid,
|
||||
END OF gty_icon,
|
||||
gtyt_icon TYPE STANDARD TABLE OF gty_icon WITH NON-UNIQUE DEFAULT KEY.
|
||||
|
||||
DATA: lt_icon TYPE gtyt_icon,
|
||||
lv_row TYPE sytabix,
|
||||
ls_wwwdatatab TYPE wwwdatatab,
|
||||
lt_mimedata TYPE STANDARD TABLE OF w3mime WITH NON-UNIQUE DEFAULT KEY,
|
||||
lv_xstring TYPE xstring.
|
||||
DATA: lt_icon TYPE gtyt_icon,
|
||||
lv_row TYPE sytabix,
|
||||
ls_wwwdatatab TYPE wwwdatatab,
|
||||
lt_mimedata TYPE STANDARD TABLE OF w3mime WITH NON-UNIQUE DEFAULT KEY,
|
||||
lv_xstring TYPE xstring.
|
||||
|
||||
FIELD-SYMBOLS: <icon> LIKE LINE OF lt_icon,
|
||||
<mimedata> LIKE LINE OF lt_mimedata.
|
||||
FIELD-SYMBOLS: <icon> LIKE LINE OF lt_icon,
|
||||
<mimedata> LIKE LINE OF lt_mimedata.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '38_SAP-Icons.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -139,7 +139,7 @@ START-OF-SELECTION.
|
|||
|
||||
CALL METHOD lo_bar1_stacked->create_ax
|
||||
EXPORTING
|
||||
ip_type = zcl_excel_graph_bars=>c_catax .
|
||||
ip_type = zcl_excel_graph_bars=>c_catax.
|
||||
|
||||
CALL METHOD lo_bar1_stacked->create_ax
|
||||
EXPORTING
|
||||
|
|
|
@ -8,15 +8,15 @@
|
|||
|
||||
REPORT zdemo_excel4.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
|
||||
lv_tabcolor TYPE zexcel_s_tabcolor,
|
||||
lv_tabcolor TYPE zexcel_s_tabcolor,
|
||||
|
||||
ls_header TYPE zexcel_s_worksheet_head_foot,
|
||||
ls_footer TYPE zexcel_s_worksheet_head_foot.
|
||||
ls_header TYPE zexcel_s_worksheet_head_foot,
|
||||
ls_footer TYPE zexcel_s_worksheet_head_foot.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '04_Sheets.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
REPORT zdemo_excel40.
|
||||
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lv_row TYPE zexcel_cell_row,
|
||||
lv_col TYPE i,
|
||||
lv_row_char TYPE char10,
|
||||
lv_value TYPE string,
|
||||
ls_fontcolor TYPE zexcel_style_color_argb.
|
||||
DATA: lv_row TYPE zexcel_cell_row,
|
||||
lv_col TYPE i,
|
||||
lv_row_char TYPE char10,
|
||||
lv_value TYPE string,
|
||||
ls_fontcolor TYPE zexcel_style_color_argb.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '40_Printsettings.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -9,7 +9,7 @@ CONSTANTS: gc_save_file_name TYPE string VALUE 'ABAP2XLSX Inheritance.xlsx'.
|
|||
CLASS lcl_my_zcl_excel1 DEFINITION INHERITING FROM zcl_excel.
|
||||
PUBLIC SECTION.
|
||||
METHODS: constructor IMPORTING iv_sheetcount TYPE i DEFAULT 5
|
||||
RAISING zcx_excel.
|
||||
RAISING zcx_excel.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_my_zcl_excel1 IMPLEMENTATION.
|
||||
|
@ -77,7 +77,7 @@ DATA: go_excel1 TYPE REF TO lcl_my_zcl_excel1.
|
|||
DATA: go_excel2 TYPE REF TO lcl_my_zcl_excel2.
|
||||
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK bli WITH FRAME TITLE text-bli.
|
||||
SELECTION-SCREEN BEGIN OF BLOCK bli WITH FRAME TITLE TEXT-bli.
|
||||
PARAMETERS: rbi_1 RADIOBUTTON GROUP rbi DEFAULT 'X' , " Simple inheritance
|
||||
rbi_2 RADIOBUTTON GROUP rbi.
|
||||
SELECTION-SCREEN END OF BLOCK bli.
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT ZDEMO_EXCEL42.
|
||||
type-POOLS: vrm.
|
||||
REPORT zdemo_excel42.
|
||||
TYPE-POOLS: vrm.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_theme TYPE REF TO zcl_excel_theme,
|
||||
lo_style type ref to zcl_excel_style,
|
||||
lv_style_guid type ZEXCEL_CELL_STYLE.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_theme TYPE REF TO zcl_excel_theme,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lv_style_guid TYPE zexcel_cell_style.
|
||||
DATA: gc_save_file_name TYPE string VALUE '42 Theme Manipulation demo.&'.
|
||||
include zdemo_excel_outputopt_incl.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
||||
initialization.
|
||||
INITIALIZATION.
|
||||
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
@ -41,62 +41,62 @@ START-OF-SELECTION.
|
|||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Bold text' ip_style = lv_style_guid ).
|
||||
|
||||
"create theme
|
||||
create object lo_theme.
|
||||
CREATE OBJECT lo_theme.
|
||||
lo_theme->set_theme_name( iv_name = 'Theme Demo 42 A2X' ).
|
||||
lo_theme->set_color_scheme_name( iv_name = 'Demo 42 A2X' ).
|
||||
|
||||
"set theme colors
|
||||
lo_theme->set_color(
|
||||
exporting
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_dark1
|
||||
iv_srgb = '5F9EA0'
|
||||
* iv_syscolorname =
|
||||
* iv_syscolorlast =
|
||||
).
|
||||
lo_theme->set_color(
|
||||
exporting
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_dark2
|
||||
iv_srgb = 'FFA500'
|
||||
lo_theme->set_color(
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_dark2
|
||||
iv_srgb = 'FFA500'
|
||||
* iv_syscolorname =
|
||||
* iv_syscolorlast =
|
||||
).
|
||||
lo_theme->set_color(
|
||||
exporting
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_light1
|
||||
iv_srgb = '778899'
|
||||
).
|
||||
lo_theme->set_color(
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_light1
|
||||
iv_srgb = '778899'
|
||||
* iv_syscolorname =
|
||||
* iv_syscolorlast =
|
||||
).
|
||||
).
|
||||
|
||||
lo_theme->set_color(
|
||||
exporting
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_light1
|
||||
iv_srgb = '9932CC'
|
||||
lo_theme->set_color(
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_color_scheme=>c_light1
|
||||
iv_srgb = '9932CC'
|
||||
* iv_syscolorname =
|
||||
* iv_syscolorlast =
|
||||
).
|
||||
).
|
||||
lo_theme->set_font_scheme_name( iv_name = 'Demo 42 A2X' ).
|
||||
|
||||
|
||||
"set theme latin fonts - major and minor
|
||||
lo_theme->set_latin_font(
|
||||
exporting
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_font_scheme=>c_major
|
||||
iv_typeface = 'Britannic Bold'
|
||||
* iv_panose =
|
||||
* iv_pitchfamily =
|
||||
* iv_charset =
|
||||
).
|
||||
lo_theme->set_latin_font(
|
||||
exporting
|
||||
iv_type = zcl_excel_theme_font_scheme=>c_minor
|
||||
iv_typeface = 'Broadway'
|
||||
lo_theme->set_latin_font(
|
||||
EXPORTING
|
||||
iv_type = zcl_excel_theme_font_scheme=>c_minor
|
||||
iv_typeface = 'Broadway'
|
||||
* iv_panose =
|
||||
* iv_pitchfamily =
|
||||
* iv_charset =
|
||||
).
|
||||
"push theme to file
|
||||
lo_excel->set_theme( io_theme = lo_theme ).
|
||||
).
|
||||
"push theme to file
|
||||
lo_excel->set_theme( io_theme = lo_theme ).
|
||||
|
||||
"output
|
||||
lcl_output=>output( cl_excel = lo_excel ).
|
||||
"output
|
||||
lcl_output=>output( cl_excel = lo_excel ).
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
REPORT zdemo_excel5.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond.
|
||||
|
||||
DATA: ls_iconset TYPE zexcel_conditional_iconset.
|
||||
DATA: ls_iconset TYPE zexcel_conditional_iconset.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
REPORT zdemo_excel6.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lv_row TYPE syindex,
|
||||
lv_formula TYPE string.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lv_row TYPE syindex,
|
||||
lv_formula TYPE string.
|
||||
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '06_Formulas.xlsx'.
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
REPORT zdemo_excel7.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_style_cond TYPE REF TO zcl_excel_style_cond.
|
||||
|
||||
DATA: ls_iconset3 TYPE zexcel_conditional_iconset,
|
||||
ls_iconset4 TYPE zexcel_conditional_iconset,
|
||||
ls_iconset5 TYPE zexcel_conditional_iconset,
|
||||
ls_databar TYPE zexcel_conditional_databar,
|
||||
ls_colorscale2 TYPE zexcel_conditional_colorscale,
|
||||
ls_colorscale3 TYPE zexcel_conditional_colorscale.
|
||||
DATA: ls_iconset3 TYPE zexcel_conditional_iconset,
|
||||
ls_iconset4 TYPE zexcel_conditional_iconset,
|
||||
ls_iconset5 TYPE zexcel_conditional_iconset,
|
||||
ls_databar TYPE zexcel_conditional_databar,
|
||||
ls_colorscale2 TYPE zexcel_conditional_colorscale,
|
||||
ls_colorscale3 TYPE zexcel_conditional_colorscale.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '07_ConditionalAll.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
REPORT zdemo_excel8.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range.
|
||||
|
||||
DATA: lv_title TYPE zexcel_sheet_title.
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ CONSTANTS: c_fruits TYPE string VALUE 'Fruits',
|
|||
c_meat TYPE string VALUE 'Meat',
|
||||
c_fish TYPE string VALUE 'Fish'.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation.
|
||||
|
||||
DATA: row TYPE zexcel_cell_row.
|
||||
|
||||
|
@ -154,21 +154,21 @@ START-OF-SELECTION.
|
|||
lo_data_validation->cell_row = row.
|
||||
lo_data_validation->cell_column = 'A'.
|
||||
lo_worksheet->set_cell( ip_row = row ip_column = 'A' ip_value = 'Select a value' ).
|
||||
" 2nd
|
||||
" 2nd
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = c_vegetables.
|
||||
lo_data_validation->cell_row = row.
|
||||
lo_data_validation->cell_column = 'B'.
|
||||
lo_worksheet->set_cell( ip_row = row ip_column = 'B' ip_value = 'Select a value' ).
|
||||
" 3rd
|
||||
" 3rd
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = c_meat.
|
||||
lo_data_validation->cell_row = row.
|
||||
lo_data_validation->cell_column = 'C'.
|
||||
lo_worksheet->set_cell( ip_row = row ip_column = 'C' ip_value = 'Select a value' ).
|
||||
" 4th
|
||||
" 4th
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = c_fish.
|
||||
|
@ -180,13 +180,13 @@ START-OF-SELECTION.
|
|||
ENDWHILE.
|
||||
|
||||
IF p_sbook = abap_true.
|
||||
DATA: bookings type TABLE OF sbook.
|
||||
DATA: bookings TYPE TABLE OF sbook.
|
||||
|
||||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
lv_title = 'SBOOK'.
|
||||
lo_worksheet->set_title( lv_title ).
|
||||
|
||||
SELECT * from sbook INTO TABLE bookings UP TO 4000 ROWS.
|
||||
SELECT * FROM sbook INTO TABLE bookings UP TO 4000 ROWS.
|
||||
|
||||
lo_worksheet->bind_table(
|
||||
EXPORTING
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
REPORT zdemo_excel_comments.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_comment TYPE REF TO zcl_excel_comment,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lv_comment TYPE string.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_comment TYPE REF TO zcl_excel_comment,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lv_comment TYPE string.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE 'Comments.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -104,7 +104,7 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
IF sy-batch IS INITIAL.
|
||||
cl_output->download_frontend( ).
|
||||
ELSE.
|
||||
MESSAGE e802(ZABAP2XLSX).
|
||||
MESSAGE e802(zabap2xlsx).
|
||||
ENDIF.
|
||||
|
||||
WHEN rb_back.
|
||||
|
@ -114,7 +114,7 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
IF sy-batch IS INITIAL.
|
||||
cl_output->display_online( ).
|
||||
ELSE.
|
||||
MESSAGE e803(ZABAP2XLSX).
|
||||
MESSAGE e803(zabap2xlsx).
|
||||
ENDIF.
|
||||
|
||||
WHEN rb_send.
|
||||
|
@ -187,10 +187,10 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
* If started in language w/o textelements translated set defaults
|
||||
* Furthermore I don't have to change the selectiontexts of all demoreports.
|
||||
DEFINE default_parametertext.
|
||||
if %_&1_%_app_%-text = '&1' or
|
||||
%_&1_%_app_%-text is initial.
|
||||
IF %_&1_%_app_%-text = '&1' OR
|
||||
%_&1_%_app_%-text IS INITIAL.
|
||||
%_&1_%_app_%-text = &2.
|
||||
endif.
|
||||
ENDIF.
|
||||
END-OF-DEFINITION.
|
||||
|
||||
default_parametertext: rb_down 'Save to frontend',
|
||||
|
@ -352,10 +352,10 @@ CLASS lcl_output IMPLEMENTATION.
|
|||
COMMIT WORK.
|
||||
|
||||
IF sent = abap_true.
|
||||
MESSAGE s805(ZABAP2XLSX).
|
||||
MESSAGE s805(zabap2xlsx).
|
||||
MESSAGE 'Document ready to be sent - Check SOST or SCOT' TYPE 'I'.
|
||||
ELSE.
|
||||
MESSAGE i804(ZABAP2XLSX) WITH p_email.
|
||||
MESSAGE i804(zabap2xlsx) WITH p_email.
|
||||
ENDIF.
|
||||
|
||||
CATCH cx_bcs INTO bcs_exception.
|
||||
|
|
|
@ -48,8 +48,17 @@
|
|||
<TYPE>CL_WDY_MD_VIEW</TYPE>
|
||||
<VIEW_CONTROLLER>V_MAIN</VIEW_CONTROLLER>
|
||||
<ROOT_UI_CONT>ROOTUIELEMENTCONTAINER</ROOT_UI_CONT>
|
||||
<IS_CONVERTED>E</IS_CONVERTED>
|
||||
<DISPLAY_NAME>V_MAIN</DISPLAY_NAME>
|
||||
</DEFINITION>
|
||||
<DESCRIPTIONS>
|
||||
<WDY_VIEWT>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPTION>Web Dynpro View</DESCRIPTION>
|
||||
</WDY_VIEWT>
|
||||
</DESCRIPTIONS>
|
||||
<UI_ELEMENTS>
|
||||
<WDY_UI_ELEMENT>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -113,6 +122,13 @@
|
|||
</WDY_UI_EVT_BIND>
|
||||
</UI_EVENT_BINDINGS>
|
||||
<UI_PROPERTIES>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>BTN_DOWNLOAD</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>ACTIVATE_ACCESS_KEY</PROPERTY_NAME>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
|
@ -153,6 +169,13 @@
|
|||
<PROPERTY_NAME>IMAGE_FIRST</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>X</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>BTN_DOWNLOAD</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>IMAGE_IS_DECORATIVE</PROPERTY_NAME>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
|
@ -185,6 +208,14 @@
|
|||
<PROPERTY_NAME>V_GUTTER</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>00</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>ROOTUIELEMENTCONTAINER</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>ARIA_LANDMARK</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>10</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
|
@ -201,6 +232,13 @@
|
|||
<PROPERTY_NAME>ENABLED</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>X</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>ROOTUIELEMENTCONTAINER</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>HANDLE_HOTKEYS</PROPERTY_NAME>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
|
@ -217,6 +255,22 @@
|
|||
<PROPERTY_NAME>SCROLLING_MODE</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>02</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>ROOTUIELEMENTCONTAINER</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>SCROLL_LEFT</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>0</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
<ELEMENT_NAME>ROOTUIELEMENTCONTAINER</ELEMENT_NAME>
|
||||
<VERSION>A</VERSION>
|
||||
<PROPERTY_NAME>SCROLL_TOP</PROPERTY_NAME>
|
||||
<PROPERTY_VALUE>0</PROPERTY_VALUE>
|
||||
</WDY_UI_PROPERTY>
|
||||
<WDY_UI_PROPERTY>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<VIEW_NAME>V_MAIN</VIEW_NAME>
|
||||
|
@ -881,28 +935,28 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>3</LINE_NUMBER>
|
||||
<SOURCE_LINE>DATA: lo_excel TYPE REF TO zcl_excel,</SOURCE_LINE>
|
||||
<SOURCE_LINE> DATA: lo_excel TYPE REF TO zcl_excel,</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>4</LINE_NUMBER>
|
||||
<SOURCE_LINE>lo_excel_writer TYPE REF TO zcl_excel_writer_2007,</SOURCE_LINE>
|
||||
<SOURCE_LINE> lo_excel_writer TYPE REF TO zcl_excel_writer_2007,</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>5</LINE_NUMBER>
|
||||
<SOURCE_LINE>lo_worksheet TYPE REF TO zcl_excel_worksheet.</SOURCE_LINE>
|
||||
<SOURCE_LINE> lo_worksheet TYPE REF TO zcl_excel_worksheet.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>6</LINE_NUMBER>
|
||||
<SOURCE_LINE>DATA: lv_content TYPE xstring.</SOURCE_LINE>
|
||||
<SOURCE_LINE> DATA: lv_content TYPE xstring.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -915,14 +969,14 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>8</LINE_NUMBER>
|
||||
<SOURCE_LINE>CREATE OBJECT lo_excel.</SOURCE_LINE>
|
||||
<SOURCE_LINE> CREATE OBJECT lo_excel.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>9</LINE_NUMBER>
|
||||
<SOURCE_LINE>lo_worksheet = lo_excel->get_active_worksheet( ).</SOURCE_LINE>
|
||||
<SOURCE_LINE> lo_worksheet = lo_excel->get_active_worksheet( ).</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -935,21 +989,21 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>11</LINE_NUMBER>
|
||||
<SOURCE_LINE>lo_worksheet->set_cell( ip_column = 'B'</SOURCE_LINE>
|
||||
<SOURCE_LINE> lo_worksheet->set_cell( ip_column = 'B'</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>12</LINE_NUMBER>
|
||||
<SOURCE_LINE>ip_row = '2'</SOURCE_LINE>
|
||||
<SOURCE_LINE> ip_row = '2'</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>13</LINE_NUMBER>
|
||||
<SOURCE_LINE>ip_value = 'Welcome to Web Dynpro and abap2xlsx.' ).</SOURCE_LINE>
|
||||
<SOURCE_LINE> ip_value = 'Welcome to Web Dynpro and abap2xlsx.' ).</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -962,14 +1016,14 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>15</LINE_NUMBER>
|
||||
<SOURCE_LINE>CREATE OBJECT lo_excel_writer.</SOURCE_LINE>
|
||||
<SOURCE_LINE> CREATE OBJECT lo_excel_writer.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>16</LINE_NUMBER>
|
||||
<SOURCE_LINE>lv_content = lo_excel_writer->zif_excel_writer~write_file( lo_excel ).</SOURCE_LINE>
|
||||
<SOURCE_LINE> lv_content = lo_excel_writer->zif_excel_writer~write_file( lo_excel ).</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -982,14 +1036,14 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>18</LINE_NUMBER>
|
||||
<SOURCE_LINE>DATA: lv_filename TYPE string.</SOURCE_LINE>
|
||||
<SOURCE_LINE> DATA: lv_filename TYPE string.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>19</LINE_NUMBER>
|
||||
<SOURCE_LINE>lv_filename = 'wda01.xlsx'.</SOURCE_LINE>
|
||||
<SOURCE_LINE> lv_filename = 'wda01.xlsx'.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
@ -1002,49 +1056,49 @@
|
|||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>21</LINE_NUMBER>
|
||||
<SOURCE_LINE>CALL METHOD cl_wd_runtime_services=>attach_file_to_response</SOURCE_LINE>
|
||||
<SOURCE_LINE> CALL METHOD cl_wd_runtime_services=>attach_file_to_response</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>22</LINE_NUMBER>
|
||||
<SOURCE_LINE>EXPORTING</SOURCE_LINE>
|
||||
<SOURCE_LINE> EXPORTING</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>23</LINE_NUMBER>
|
||||
<SOURCE_LINE>i_filename = lv_filename</SOURCE_LINE>
|
||||
<SOURCE_LINE> i_filename = lv_filename</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>24</LINE_NUMBER>
|
||||
<SOURCE_LINE>i_content = lv_content</SOURCE_LINE>
|
||||
<SOURCE_LINE> i_content = lv_content</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>25</LINE_NUMBER>
|
||||
<SOURCE_LINE>i_mime_type = 'EXCEL'</SOURCE_LINE>
|
||||
<SOURCE_LINE> i_mime_type = 'EXCEL'</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>26</LINE_NUMBER>
|
||||
<SOURCE_LINE>i_in_new_window = abap_false</SOURCE_LINE>
|
||||
<SOURCE_LINE> i_in_new_window = abap_false</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
<CONTROLLER_NAME>V_MAIN</CONTROLLER_NAME>
|
||||
<CMPNAME>ONACTIONBTN_DOWNLOAD</CMPNAME>
|
||||
<LINE_NUMBER>27</LINE_NUMBER>
|
||||
<SOURCE_LINE>i_inplace = abap_false.</SOURCE_LINE>
|
||||
<SOURCE_LINE> i_inplace = abap_false.</SOURCE_LINE>
|
||||
</WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<WDY_CTLR_COMPO_SOURCE_VRS>
|
||||
<COMPONENT_NAME>ZDEMO_EXCEL_WDA01</COMPONENT_NAME>
|
||||
|
|
|
@ -12,13 +12,13 @@ REPORT zdemo_teched1.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,18 +12,18 @@ REPORT zdemo_teched10.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_reader TYPE REF TO zif_excel_reader,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_reader TYPE REF TO zif_excel_reader,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
lv_file_separator TYPE c.
|
||||
|
||||
DATA: lt_files TYPE filetable,
|
||||
ls_file TYPE file_table,
|
||||
lv_rc TYPE i,
|
||||
lv_value TYPE zexcel_cell_value.
|
||||
DATA: lt_files TYPE filetable,
|
||||
ls_file TYPE file_table,
|
||||
lv_rc TYPE i,
|
||||
lv_value TYPE zexcel_cell_value.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE 'TechEd01.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
|
|
@ -12,16 +12,16 @@ REPORT zdemo_teched2.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lv_style_title_guid TYPE zexcel_cell_style.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lv_style_title_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,18 +12,18 @@ REPORT zdemo_teched3.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,19 +12,19 @@ REPORT zdemo_teched4.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,20 +12,20 @@ REPORT zdemo_teched5.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,21 +12,21 @@ REPORT zdemo_teched6.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,21 +12,21 @@ REPORT zdemo_teched7.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,29 +12,29 @@ REPORT zdemo_teched8.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_style_green TYPE REF TO zcl_excel_style,
|
||||
lo_style_yellow TYPE REF TO zcl_excel_style,
|
||||
lo_style_red TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_style_conditional TYPE REF TO zcl_excel_style_cond,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
lv_style_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_yellow_guid TYPE zexcel_cell_style,
|
||||
lv_style_red_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_style_green TYPE REF TO zcl_excel_style,
|
||||
lo_style_yellow TYPE REF TO zcl_excel_style,
|
||||
lo_style_red TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_style_conditional TYPE REF TO zcl_excel_style_cond,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
lv_style_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_yellow_guid TYPE zexcel_cell_style,
|
||||
lv_style_red_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
|
|
|
@ -12,200 +12,200 @@ REPORT zdemo_teched9.
|
|||
* Data Object declaration *
|
||||
*******************************
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_style_green TYPE REF TO zcl_excel_style,
|
||||
lo_style_yellow TYPE REF TO zcl_excel_style,
|
||||
lo_style_red TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_style_conditional TYPE REF TO zcl_excel_style_cond,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
lv_style_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_yellow_guid TYPE zexcel_cell_style,
|
||||
lv_style_red_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis,
|
||||
ls_key TYPE wwwdatatab.
|
||||
DATA: lo_style_title TYPE REF TO zcl_excel_style,
|
||||
lo_style_green TYPE REF TO zcl_excel_style,
|
||||
lo_style_yellow TYPE REF TO zcl_excel_style,
|
||||
lo_style_red TYPE REF TO zcl_excel_style,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
lo_range TYPE REF TO zcl_excel_range,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_style_conditional TYPE REF TO zcl_excel_style_cond,
|
||||
lv_style_title_guid TYPE zexcel_cell_style,
|
||||
lv_style_green_guid TYPE zexcel_cell_style,
|
||||
lv_style_yellow_guid TYPE zexcel_cell_style,
|
||||
lv_style_red_guid TYPE zexcel_cell_style,
|
||||
ls_cellis TYPE zexcel_conditional_cellis,
|
||||
ls_key TYPE wwwdatatab.
|
||||
|
||||
DATA: lo_send_request TYPE REF TO cl_bcs,
|
||||
lo_document TYPE REF TO cl_document_bcs,
|
||||
lo_sender TYPE REF TO cl_sapuser_bcs,
|
||||
lo_recipient TYPE REF TO cl_sapuser_bcs.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lv_bytecount_c TYPE sood-objlen,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
lv_bytecount_c TYPE sood-objlen,
|
||||
lt_file_tab TYPE solix_tab.
|
||||
|
||||
*******************************
|
||||
* abap2xlsx create XLSX *
|
||||
*******************************
|
||||
|
||||
" Create excel instance
|
||||
CREATE OBJECT lo_excel.
|
||||
" Create excel instance
|
||||
CREATE OBJECT lo_excel.
|
||||
|
||||
" Styles
|
||||
lo_style_title = lo_excel->add_new_style( ).
|
||||
lo_style_title->font->bold = abap_true.
|
||||
lo_style_title->font->color-rgb = zcl_excel_style_color=>c_blue.
|
||||
lv_style_title_guid = lo_style_title->get_guid( ).
|
||||
" Styles
|
||||
lo_style_title = lo_excel->add_new_style( ).
|
||||
lo_style_title->font->bold = abap_true.
|
||||
lo_style_title->font->color-rgb = zcl_excel_style_color=>c_blue.
|
||||
lv_style_title_guid = lo_style_title->get_guid( ).
|
||||
|
||||
" Get active sheet
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Demo TechEd' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 5 ip_value = 'TechEd demo' ip_style = lv_style_title_guid ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 7 ip_value = 'Is abap2xlsx simple' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 8 ip_value = 'Is abap2xlsx CooL' ).
|
||||
" Get active sheet
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Demo TechEd' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 5 ip_value = 'TechEd demo' ip_style = lv_style_title_guid ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 7 ip_value = 'Is abap2xlsx simple' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 8 ip_value = 'Is abap2xlsx CooL' ).
|
||||
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 10 ip_value = 'Total score' ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 10 ip_formula = 'SUM(C7:C8)' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 10 ip_value = 'Total score' ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 10 ip_formula = 'SUM(C7:C8)' ).
|
||||
|
||||
" add logo from SMWO
|
||||
lo_drawing = lo_excel->add_new_drawing( ).
|
||||
lo_drawing->set_position( ip_from_row = 2
|
||||
ip_from_col = 'B' ).
|
||||
" add logo from SMWO
|
||||
lo_drawing = lo_excel->add_new_drawing( ).
|
||||
lo_drawing->set_position( ip_from_row = 2
|
||||
ip_from_col = 'B' ).
|
||||
|
||||
ls_key-relid = 'MI'.
|
||||
ls_key-objid = 'SIWB_KW_LOGO'.
|
||||
lo_drawing->set_media_www( ip_key = ls_key
|
||||
ip_width = 140
|
||||
ip_height = 64 ).
|
||||
ls_key-relid = 'MI'.
|
||||
ls_key-objid = 'SIWB_KW_LOGO'.
|
||||
lo_drawing->set_media_www( ip_key = ls_key
|
||||
ip_width = 140
|
||||
ip_height = 64 ).
|
||||
|
||||
" assign drawing to the worksheet
|
||||
lo_worksheet->add_drawing( lo_drawing ).
|
||||
" assign drawing to the worksheet
|
||||
lo_worksheet->add_drawing( lo_drawing ).
|
||||
|
||||
" Add new sheet
|
||||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Values' ).
|
||||
" Add new sheet
|
||||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Values' ).
|
||||
|
||||
" Set values for range
|
||||
lo_worksheet->set_cell( ip_row = 4 ip_column = 'A' ip_value = 1 ).
|
||||
lo_worksheet->set_cell( ip_row = 5 ip_column = 'A' ip_value = 2 ).
|
||||
lo_worksheet->set_cell( ip_row = 6 ip_column = 'A' ip_value = 3 ).
|
||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'A' ip_value = 4 ).
|
||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'A' ip_value = 5 ).
|
||||
" Set values for range
|
||||
lo_worksheet->set_cell( ip_row = 4 ip_column = 'A' ip_value = 1 ).
|
||||
lo_worksheet->set_cell( ip_row = 5 ip_column = 'A' ip_value = 2 ).
|
||||
lo_worksheet->set_cell( ip_row = 6 ip_column = 'A' ip_value = 3 ).
|
||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'A' ip_value = 4 ).
|
||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'A' ip_value = 5 ).
|
||||
|
||||
lo_range = lo_excel->add_new_range( ).
|
||||
lo_range->name = 'Values'.
|
||||
lo_range->set_value( ip_sheet_name = 'Values'
|
||||
ip_start_column = 'A'
|
||||
ip_start_row = 4
|
||||
ip_stop_column = 'A'
|
||||
ip_stop_row = 8 ).
|
||||
lo_range = lo_excel->add_new_range( ).
|
||||
lo_range->name = 'Values'.
|
||||
lo_range->set_value( ip_sheet_name = 'Values'
|
||||
ip_start_column = 'A'
|
||||
ip_start_row = 4
|
||||
ip_stop_column = 'A'
|
||||
ip_stop_row = 8 ).
|
||||
|
||||
lo_excel->set_active_sheet_index( 1 ).
|
||||
lo_excel->set_active_sheet_index( 1 ).
|
||||
|
||||
" add data validation
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
" add data validation
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = 'Values'.
|
||||
lo_data_validation->cell_row = 7.
|
||||
lo_data_validation->cell_column = 'C'.
|
||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'Select a value' ).
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = 'Values'.
|
||||
lo_data_validation->cell_row = 7.
|
||||
lo_data_validation->cell_column = 'C'.
|
||||
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 'Select a value' ).
|
||||
|
||||
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = 'Values'.
|
||||
lo_data_validation->cell_row = 8.
|
||||
lo_data_validation->cell_column = 'C'.
|
||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
|
||||
lo_data_validation = lo_worksheet->add_new_data_validation( ).
|
||||
lo_data_validation->type = zcl_excel_data_validation=>c_type_list.
|
||||
lo_data_validation->formula1 = 'Values'.
|
||||
lo_data_validation->cell_row = 8.
|
||||
lo_data_validation->cell_column = 'C'.
|
||||
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
|
||||
|
||||
" add autosize (column width)
|
||||
lo_column = lo_worksheet->get_column( ip_column = 'B' ).
|
||||
lo_column->set_auto_size( ip_auto_size = abap_true ).
|
||||
lo_column = lo_worksheet->get_column( ip_column = 'C' ).
|
||||
lo_column->set_auto_size( ip_auto_size = abap_true ).
|
||||
" add autosize (column width)
|
||||
lo_column = lo_worksheet->get_column( ip_column = 'B' ).
|
||||
lo_column->set_auto_size( ip_auto_size = abap_true ).
|
||||
lo_column = lo_worksheet->get_column( ip_column = 'C' ).
|
||||
lo_column->set_auto_size( ip_auto_size = abap_true ).
|
||||
|
||||
" defne conditional styles
|
||||
lo_style_green = lo_excel->add_new_style( ).
|
||||
lo_style_green->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_green->fill->bgcolor-rgb = zcl_excel_style_color=>c_green.
|
||||
lv_style_green_guid = lo_style_green->get_guid( ).
|
||||
" defne conditional styles
|
||||
lo_style_green = lo_excel->add_new_style( ).
|
||||
lo_style_green->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_green->fill->bgcolor-rgb = zcl_excel_style_color=>c_green.
|
||||
lv_style_green_guid = lo_style_green->get_guid( ).
|
||||
|
||||
lo_style_yellow = lo_excel->add_new_style( ).
|
||||
lo_style_yellow->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_yellow->fill->bgcolor-rgb = zcl_excel_style_color=>c_yellow.
|
||||
lv_style_yellow_guid = lo_style_yellow->get_guid( ).
|
||||
lo_style_yellow = lo_excel->add_new_style( ).
|
||||
lo_style_yellow->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_yellow->fill->bgcolor-rgb = zcl_excel_style_color=>c_yellow.
|
||||
lv_style_yellow_guid = lo_style_yellow->get_guid( ).
|
||||
|
||||
lo_style_red = lo_excel->add_new_style( ).
|
||||
lo_style_red->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_red->fill->bgcolor-rgb = zcl_excel_style_color=>c_red.
|
||||
lv_style_red_guid = lo_style_red->get_guid( ).
|
||||
lo_style_red = lo_excel->add_new_style( ).
|
||||
lo_style_red->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style_red->fill->bgcolor-rgb = zcl_excel_style_color=>c_red.
|
||||
lv_style_red_guid = lo_style_red->get_guid( ).
|
||||
|
||||
" add conditional formatting
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '5'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_greaterthan.
|
||||
ls_cellis-cell_style = lv_style_green_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 1.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
" add conditional formatting
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '5'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_greaterthan.
|
||||
ls_cellis-cell_style = lv_style_green_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 1.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '5'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_equal.
|
||||
ls_cellis-cell_style = lv_style_yellow_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 2.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '5'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_equal.
|
||||
ls_cellis-cell_style = lv_style_yellow_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 2.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '0'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_greaterthan.
|
||||
ls_cellis-cell_style = lv_style_red_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 3.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
lo_style_conditional = lo_worksheet->add_new_style_cond( ).
|
||||
lo_style_conditional->rule = zcl_excel_style_cond=>c_rule_cellis.
|
||||
ls_cellis-formula = '0'.
|
||||
ls_cellis-operator = zcl_excel_style_cond=>c_operator_greaterthan.
|
||||
ls_cellis-cell_style = lv_style_red_guid.
|
||||
lo_style_conditional->mode_cellis = ls_cellis.
|
||||
lo_style_conditional->priority = 3.
|
||||
lo_style_conditional->set_range( ip_start_column = 'C'
|
||||
ip_start_row = 10
|
||||
ip_stop_column = 'C'
|
||||
ip_stop_row = 10 ).
|
||||
|
||||
|
||||
" Create xlsx stream
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||
" Create xlsx stream
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
||||
*******************************
|
||||
* Output *
|
||||
*******************************
|
||||
|
||||
" Convert to binary
|
||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
||||
lv_bytecount = xstrlen( lv_file ).
|
||||
lv_bytecount_c = lv_bytecount.
|
||||
" Convert to binary
|
||||
lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring = lv_file ).
|
||||
lv_bytecount = xstrlen( lv_file ).
|
||||
lv_bytecount_c = lv_bytecount.
|
||||
|
||||
" Send via email
|
||||
lo_document = cl_document_bcs=>create_document( i_type = 'RAW'
|
||||
i_subject = 'Demo TechEd' ).
|
||||
" Send via email
|
||||
lo_document = cl_document_bcs=>create_document( i_type = 'RAW'
|
||||
i_subject = 'Demo TechEd' ).
|
||||
|
||||
lo_document->add_attachment( i_attachment_type = 'EXT'
|
||||
i_attachment_subject = 'abap2xlsx.xlsx'
|
||||
i_attachment_size = lv_bytecount_c
|
||||
i_att_content_hex = lt_file_tab ).
|
||||
lo_document->add_attachment( i_attachment_type = 'EXT'
|
||||
i_attachment_subject = 'abap2xlsx.xlsx'
|
||||
i_attachment_size = lv_bytecount_c
|
||||
i_att_content_hex = lt_file_tab ).
|
||||
|
||||
lo_sender = cl_sapuser_bcs=>create( sy-uname ).
|
||||
lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
|
||||
lo_sender = cl_sapuser_bcs=>create( sy-uname ).
|
||||
lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
|
||||
|
||||
lo_send_request = cl_bcs=>create_persistent( ).
|
||||
lo_send_request->set_document( lo_document ).
|
||||
lo_send_request->set_sender( lo_sender ).
|
||||
lo_send_request->add_recipient( lo_recipient ).
|
||||
lo_send_request->set_send_immediately( abap_true ).
|
||||
lo_send_request->send( ).
|
||||
lo_send_request = cl_bcs=>create_persistent( ).
|
||||
lo_send_request->set_document( lo_document ).
|
||||
lo_send_request->set_sender( lo_sender ).
|
||||
lo_send_request->add_recipient( lo_recipient ).
|
||||
lo_send_request->set_send_immediately( abap_true ).
|
||||
lo_send_request->send( ).
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
REPORT ztest_excel_image_header.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
ls_key TYPE wwwdatatab,
|
||||
ls_header TYPE zexcel_s_worksheet_head_foot,
|
||||
ls_footer TYPE zexcel_s_worksheet_head_foot,
|
||||
lv_content TYPE xstring.
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing,
|
||||
ls_key TYPE wwwdatatab,
|
||||
ls_header TYPE zexcel_s_worksheet_head_foot,
|
||||
ls_footer TYPE zexcel_s_worksheet_head_foot,
|
||||
lv_content TYPE xstring.
|
||||
|
||||
|
||||
DATA: ls_io TYPE skwf_io.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,100 +1,100 @@
|
|||
class zcl_excel_aunit definition
|
||||
public
|
||||
final
|
||||
create private.
|
||||
CLASS zcl_excel_aunit DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PRIVATE.
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-methods class_constructor.
|
||||
CLASS-METHODS class_constructor.
|
||||
|
||||
class-methods assert_differs
|
||||
importing
|
||||
!exp type simple
|
||||
!act type simple
|
||||
!msg type csequence optional
|
||||
!level type aunit_level default if_aunit_constants=>critical
|
||||
!tol type f optional
|
||||
!quit type aunit_flowctrl default if_aunit_constants=>method
|
||||
returning
|
||||
value(assertion_failed) type abap_bool.
|
||||
CLASS-METHODS assert_differs
|
||||
IMPORTING
|
||||
!exp TYPE simple
|
||||
!act TYPE simple
|
||||
!msg TYPE csequence OPTIONAL
|
||||
!level TYPE aunit_level DEFAULT if_aunit_constants=>critical
|
||||
!tol TYPE f OPTIONAL
|
||||
!quit TYPE aunit_flowctrl DEFAULT if_aunit_constants=>method
|
||||
RETURNING
|
||||
VALUE(assertion_failed) TYPE abap_bool.
|
||||
|
||||
class-methods assert_equals
|
||||
importing
|
||||
!exp type any
|
||||
!act type any
|
||||
!msg type csequence optional
|
||||
!level type aunit_level default if_aunit_constants=>critical
|
||||
!tol type f optional
|
||||
!quit type aunit_flowctrl default if_aunit_constants=>method
|
||||
!ignore_hash_sequence type abap_bool default abap_false
|
||||
returning
|
||||
value(assertion_failed) type abap_bool.
|
||||
CLASS-METHODS assert_equals
|
||||
IMPORTING
|
||||
!exp TYPE any
|
||||
!act TYPE any
|
||||
!msg TYPE csequence OPTIONAL
|
||||
!level TYPE aunit_level DEFAULT if_aunit_constants=>critical
|
||||
!tol TYPE f OPTIONAL
|
||||
!quit TYPE aunit_flowctrl DEFAULT if_aunit_constants=>method
|
||||
!ignore_hash_sequence TYPE abap_bool DEFAULT abap_false
|
||||
RETURNING
|
||||
VALUE(assertion_failed) TYPE abap_bool.
|
||||
|
||||
class-methods fail
|
||||
importing
|
||||
msg type csequence optional
|
||||
level type aunit_level default if_aunit_constants=>critical
|
||||
quit type aunit_flowctrl default if_aunit_constants=>method
|
||||
detail type csequence optional.
|
||||
CLASS-METHODS fail
|
||||
IMPORTING
|
||||
msg TYPE csequence OPTIONAL
|
||||
level TYPE aunit_level DEFAULT if_aunit_constants=>critical
|
||||
quit TYPE aunit_flowctrl DEFAULT if_aunit_constants=>method
|
||||
detail TYPE csequence OPTIONAL.
|
||||
|
||||
protected section.
|
||||
private section.
|
||||
types tv_clsname type seoclass-clsname.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
TYPES tv_clsname TYPE seoclass-clsname.
|
||||
|
||||
constants:
|
||||
begin of en_clsname,
|
||||
new type tv_clsname value 'CL_ABAP_UNIT_ASSERT',
|
||||
old type tv_clsname value 'CL_AUNIT_ASSERT',
|
||||
none type tv_clsname value '',
|
||||
end of en_clsname.
|
||||
CONSTANTS:
|
||||
BEGIN OF en_clsname,
|
||||
new TYPE tv_clsname VALUE 'CL_ABAP_UNIT_ASSERT',
|
||||
old TYPE tv_clsname VALUE 'CL_AUNIT_ASSERT',
|
||||
none TYPE tv_clsname VALUE '',
|
||||
END OF en_clsname.
|
||||
|
||||
class-data clsname type tv_clsname.
|
||||
endclass.
|
||||
CLASS-DATA clsname TYPE tv_clsname.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
class zcl_excel_aunit implementation.
|
||||
CLASS zcl_excel_aunit IMPLEMENTATION.
|
||||
|
||||
method class_constructor.
|
||||
METHOD class_constructor.
|
||||
" Let see >=7.02
|
||||
select single clsname into clsname
|
||||
from seoclass
|
||||
where clsname = en_clsname-new.
|
||||
SELECT SINGLE clsname INTO clsname
|
||||
FROM seoclass
|
||||
WHERE clsname = en_clsname-new.
|
||||
|
||||
check sy-subrc <> 0.
|
||||
CHECK sy-subrc <> 0.
|
||||
|
||||
" Let see >=7.00 or even lower
|
||||
select single clsname into clsname
|
||||
from seoclass
|
||||
where clsname = en_clsname-old.
|
||||
SELECT SINGLE clsname INTO clsname
|
||||
FROM seoclass
|
||||
WHERE clsname = en_clsname-old.
|
||||
|
||||
check sy-subrc <> 0.
|
||||
CHECK sy-subrc <> 0.
|
||||
|
||||
" We do nothing for now not supported
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
method assert_differs.
|
||||
check clsname = en_clsname-new or clsname = en_clsname-old.
|
||||
METHOD assert_differs.
|
||||
CHECK clsname = en_clsname-new OR clsname = en_clsname-old.
|
||||
|
||||
call method (clsname)=>assert_differs
|
||||
exporting
|
||||
CALL METHOD (clsname)=>assert_differs
|
||||
EXPORTING
|
||||
exp = exp
|
||||
act = act
|
||||
msg = msg
|
||||
level = level
|
||||
tol = tol
|
||||
quit = quit
|
||||
receiving
|
||||
RECEIVING
|
||||
assertion_failed = assertion_failed.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
method assert_equals.
|
||||
check clsname = en_clsname-new or clsname = en_clsname-old.
|
||||
METHOD assert_equals.
|
||||
CHECK clsname = en_clsname-new OR clsname = en_clsname-old.
|
||||
|
||||
call method (clsname)=>assert_equals
|
||||
exporting
|
||||
CALL METHOD (clsname)=>assert_equals
|
||||
EXPORTING
|
||||
exp = exp
|
||||
act = act
|
||||
msg = msg
|
||||
|
@ -102,19 +102,19 @@ class zcl_excel_aunit implementation.
|
|||
tol = tol
|
||||
quit = quit
|
||||
ignore_hash_sequence = ignore_hash_sequence
|
||||
receiving
|
||||
RECEIVING
|
||||
assertion_failed = assertion_failed.
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
method fail.
|
||||
check clsname = en_clsname-new or clsname = en_clsname-old.
|
||||
METHOD fail.
|
||||
CHECK clsname = en_clsname-new OR clsname = en_clsname-old.
|
||||
|
||||
call method (clsname)=>fail
|
||||
exporting
|
||||
CALL METHOD (clsname)=>fail
|
||||
EXPORTING
|
||||
msg = msg
|
||||
level = level
|
||||
quit = quit
|
||||
detail = detail.
|
||||
|
||||
endmethod.
|
||||
endclass.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,440 +1,440 @@
|
|||
class ZCL_EXCEL_AUTOFILTER definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_autofilter DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_AUTOFILTER
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
types TV_FILTER_RULE type STRING .
|
||||
types TV_LOGICAL_OPERATOR type CHAR3 .
|
||||
types:
|
||||
BEGIN OF ts_filter,
|
||||
column TYPE zexcel_cell_column,
|
||||
rule TYPE tv_filter_rule,
|
||||
t_values TYPE HASHED TABLE OF zexcel_cell_value WITH UNIQUE KEY table_line,
|
||||
tr_textfilter1 TYPE range of string,
|
||||
logical_operator TYPE tv_logical_operator,
|
||||
tr_textfilter2 TYPE range of string,
|
||||
TYPES tv_filter_rule TYPE string .
|
||||
TYPES tv_logical_operator TYPE char3 .
|
||||
TYPES:
|
||||
BEGIN OF ts_filter,
|
||||
column TYPE zexcel_cell_column,
|
||||
rule TYPE tv_filter_rule,
|
||||
t_values TYPE HASHED TABLE OF zexcel_cell_value WITH UNIQUE KEY table_line,
|
||||
tr_textfilter1 TYPE RANGE OF string,
|
||||
logical_operator TYPE tv_logical_operator,
|
||||
tr_textfilter2 TYPE RANGE OF string,
|
||||
END OF ts_filter .
|
||||
types:
|
||||
tt_filters TYPE HASHED TABLE OF ts_filter WITH UNIQUE KEY column .
|
||||
TYPES:
|
||||
tt_filters TYPE HASHED TABLE OF ts_filter WITH UNIQUE KEY column .
|
||||
|
||||
data FILTER_AREA type ZEXCEL_S_AUTOFILTER_AREA .
|
||||
constants MC_FILTER_RULE_SINGLE_VALUES type TV_FILTER_RULE value 'single_values'. "#EC NOTEXT
|
||||
constants MC_FILTER_RULE_TEXT_PATTERN type TV_FILTER_RULE value 'text_pattern'. "#EC NOTEXT
|
||||
constants MC_LOGICAL_OPERATOR_AND type TV_LOGICAL_OPERATOR value 'and'. "#EC NOTEXT
|
||||
constants MC_LOGICAL_OPERATOR_NONE type TV_LOGICAL_OPERATOR value SPACE. "#EC NOTEXT
|
||||
constants MC_LOGICAL_OPERATOR_OR type TV_LOGICAL_OPERATOR value 'or'. "#EC NOTEXT
|
||||
DATA filter_area TYPE zexcel_s_autofilter_area .
|
||||
CONSTANTS mc_filter_rule_single_values TYPE tv_filter_rule VALUE 'single_values'. "#EC NOTEXT
|
||||
CONSTANTS mc_filter_rule_text_pattern TYPE tv_filter_rule VALUE 'text_pattern'. "#EC NOTEXT
|
||||
CONSTANTS mc_logical_operator_and TYPE tv_logical_operator VALUE 'and'. "#EC NOTEXT
|
||||
CONSTANTS mc_logical_operator_none TYPE tv_logical_operator VALUE space. "#EC NOTEXT
|
||||
CONSTANTS mc_logical_operator_or TYPE tv_logical_operator VALUE 'or'. "#EC NOTEXT
|
||||
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IO_SHEET type ref to ZCL_EXCEL_WORKSHEET .
|
||||
methods GET_FILTER_AREA
|
||||
returning
|
||||
value(RS_AREA) type ZEXCEL_S_AUTOFILTER_AREA .
|
||||
methods GET_FILTER_RANGE
|
||||
returning
|
||||
value(R_RANGE) type ZEXCEL_CELL_VALUE
|
||||
raising
|
||||
ZCX_EXCEL.
|
||||
methods GET_FILTER_REFERENCE
|
||||
returning
|
||||
value(R_REF) type ZEXCEL_RANGE_VALUE
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_VALUES
|
||||
returning
|
||||
value(RT_FILTER) type ZEXCEL_T_AUTOFILTER_VALUES .
|
||||
type-pools ABAP .
|
||||
methods IS_ROW_HIDDEN
|
||||
importing
|
||||
!IV_ROW type ZEXCEL_CELL_ROW
|
||||
returning
|
||||
value(RV_IS_HIDDEN) type ABAP_BOOL .
|
||||
methods SET_FILTER_AREA
|
||||
importing
|
||||
!IS_AREA type ZEXCEL_S_AUTOFILTER_AREA .
|
||||
methods SET_TEXT_FILTER
|
||||
importing
|
||||
!I_COLUMN type ZEXCEL_CELL_COLUMN
|
||||
!IV_TEXTFILTER1 type CLIKE
|
||||
!IV_LOGICAL_OPERATOR type TV_LOGICAL_OPERATOR default MC_LOGICAL_OPERATOR_NONE
|
||||
!IV_TEXTFILTER2 type CLIKE optional .
|
||||
methods SET_VALUE
|
||||
importing
|
||||
!I_COLUMN type ZEXCEL_CELL_COLUMN
|
||||
!I_VALUE type ZEXCEL_CELL_VALUE .
|
||||
methods SET_VALUES
|
||||
importing
|
||||
!IT_VALUES type ZEXCEL_T_AUTOFILTER_VALUES .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!io_sheet TYPE REF TO zcl_excel_worksheet .
|
||||
METHODS get_filter_area
|
||||
RETURNING
|
||||
VALUE(rs_area) TYPE zexcel_s_autofilter_area .
|
||||
METHODS get_filter_range
|
||||
RETURNING
|
||||
VALUE(r_range) TYPE zexcel_cell_value
|
||||
RAISING
|
||||
zcx_excel.
|
||||
METHODS get_filter_reference
|
||||
RETURNING
|
||||
VALUE(r_ref) TYPE zexcel_range_value
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS get_values
|
||||
RETURNING
|
||||
VALUE(rt_filter) TYPE zexcel_t_autofilter_values .
|
||||
TYPE-POOLS abap .
|
||||
METHODS is_row_hidden
|
||||
IMPORTING
|
||||
!iv_row TYPE zexcel_cell_row
|
||||
RETURNING
|
||||
VALUE(rv_is_hidden) TYPE abap_bool .
|
||||
METHODS set_filter_area
|
||||
IMPORTING
|
||||
!is_area TYPE zexcel_s_autofilter_area .
|
||||
METHODS set_text_filter
|
||||
IMPORTING
|
||||
!i_column TYPE zexcel_cell_column
|
||||
!iv_textfilter1 TYPE clike
|
||||
!iv_logical_operator TYPE tv_logical_operator DEFAULT mc_logical_operator_none
|
||||
!iv_textfilter2 TYPE clike OPTIONAL .
|
||||
METHODS set_value
|
||||
IMPORTING
|
||||
!i_column TYPE zexcel_cell_column
|
||||
!i_value TYPE zexcel_cell_value .
|
||||
METHODS set_values
|
||||
IMPORTING
|
||||
!it_values TYPE zexcel_t_autofilter_values .
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEET
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
|
||||
methods GET_COLUMN_FILTER
|
||||
importing
|
||||
!I_COLUMN type ZEXCEL_CELL_COLUMN
|
||||
returning
|
||||
value(RR_FILTER) type ref to TS_FILTER .
|
||||
methods IS_ROW_HIDDEN_SINGLE_VALUES
|
||||
importing
|
||||
!IV_ROW type ZEXCEL_CELL_ROW
|
||||
!IV_COL type ZEXCEL_CELL_COLUMN
|
||||
!IS_FILTER type TS_FILTER
|
||||
returning
|
||||
value(RV_IS_HIDDEN) type ABAP_BOOL .
|
||||
methods IS_ROW_HIDDEN_TEXT_PATTERN
|
||||
importing
|
||||
!IV_ROW type ZEXCEL_CELL_ROW
|
||||
!IV_COL type ZEXCEL_CELL_COLUMN
|
||||
!IS_FILTER type TS_FILTER
|
||||
returning
|
||||
value(RV_IS_HIDDEN) type ABAP_BOOL .
|
||||
METHODS get_column_filter
|
||||
IMPORTING
|
||||
!i_column TYPE zexcel_cell_column
|
||||
RETURNING
|
||||
VALUE(rr_filter) TYPE REF TO ts_filter .
|
||||
METHODS is_row_hidden_single_values
|
||||
IMPORTING
|
||||
!iv_row TYPE zexcel_cell_row
|
||||
!iv_col TYPE zexcel_cell_column
|
||||
!is_filter TYPE ts_filter
|
||||
RETURNING
|
||||
VALUE(rv_is_hidden) TYPE abap_bool .
|
||||
METHODS is_row_hidden_text_pattern
|
||||
IMPORTING
|
||||
!iv_row TYPE zexcel_cell_row
|
||||
!iv_col TYPE zexcel_cell_column
|
||||
!is_filter TYPE ts_filter
|
||||
RETURNING
|
||||
VALUE(rv_is_hidden) TYPE abap_bool .
|
||||
*"* private components of class ZCL_EXCEL_AUTOFILTER
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
|
||||
data MT_FILTERS type TT_FILTERS .
|
||||
DATA worksheet TYPE REF TO zcl_excel_worksheet .
|
||||
DATA mt_filters TYPE tt_filters .
|
||||
|
||||
methods VALIDATE_AREA
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
METHODS validate_area
|
||||
RAISING
|
||||
zcx_excel .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_AUTOFILTER IMPLEMENTATION.
|
||||
CLASS zcl_excel_autofilter IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
worksheet = io_sheet.
|
||||
ENDMETHOD.
|
||||
METHOD constructor.
|
||||
worksheet = io_sheet.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_column_filter.
|
||||
METHOD get_column_filter.
|
||||
|
||||
DATA: ls_filter LIKE LINE OF me->mt_filters.
|
||||
DATA: ls_filter LIKE LINE OF me->mt_filters.
|
||||
|
||||
READ TABLE me->mt_filters REFERENCE INTO rr_filter WITH TABLE KEY column = i_column.
|
||||
IF sy-subrc <> 0.
|
||||
ls_filter-column = i_column.
|
||||
INSERT ls_filter INTO TABLE me->mt_filters REFERENCE INTO rr_filter.
|
||||
ENDIF.
|
||||
READ TABLE me->mt_filters REFERENCE INTO rr_filter WITH TABLE KEY column = i_column.
|
||||
IF sy-subrc <> 0.
|
||||
ls_filter-column = i_column.
|
||||
INSERT ls_filter INTO TABLE me->mt_filters REFERENCE INTO rr_filter.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_filter_area.
|
||||
METHOD get_filter_area.
|
||||
|
||||
validate_area( ).
|
||||
validate_area( ).
|
||||
|
||||
rs_area = filter_area.
|
||||
rs_area = filter_area.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_filter_range.
|
||||
DATA: l_row_start_c TYPE string,
|
||||
l_row_end_c TYPE string,
|
||||
l_col_start_c TYPE string,
|
||||
l_col_end_c TYPE string.
|
||||
METHOD get_filter_range.
|
||||
DATA: l_row_start_c TYPE string,
|
||||
l_row_end_c TYPE string,
|
||||
l_col_start_c TYPE string,
|
||||
l_col_end_c TYPE string.
|
||||
|
||||
validate_area( ).
|
||||
validate_area( ).
|
||||
|
||||
l_row_end_c = filter_area-row_end.
|
||||
CONDENSE l_row_end_c NO-GAPS.
|
||||
l_row_end_c = filter_area-row_end.
|
||||
CONDENSE l_row_end_c NO-GAPS.
|
||||
|
||||
l_row_start_c = filter_area-row_start.
|
||||
CONDENSE l_row_start_c NO-GAPS.
|
||||
l_row_start_c = filter_area-row_start.
|
||||
CONDENSE l_row_start_c NO-GAPS.
|
||||
|
||||
l_col_start_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_start ) .
|
||||
l_col_end_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_end ) .
|
||||
l_col_start_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_start ) .
|
||||
l_col_end_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_end ) .
|
||||
|
||||
CONCATENATE l_col_start_c l_row_start_c ':' l_col_end_c l_row_end_c INTO r_range.
|
||||
CONCATENATE l_col_start_c l_row_start_c ':' l_col_end_c l_row_end_c INTO r_range.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_filter_reference.
|
||||
DATA: l_row_start_c TYPE string,
|
||||
l_row_end_c TYPE string,
|
||||
l_col_start_c TYPE string,
|
||||
l_col_end_c TYPE string,
|
||||
l_value TYPE string.
|
||||
METHOD get_filter_reference.
|
||||
DATA: l_row_start_c TYPE string,
|
||||
l_row_end_c TYPE string,
|
||||
l_col_start_c TYPE string,
|
||||
l_col_end_c TYPE string,
|
||||
l_value TYPE string.
|
||||
|
||||
validate_area( ).
|
||||
validate_area( ).
|
||||
|
||||
l_row_end_c = filter_area-row_end.
|
||||
CONDENSE l_row_end_c NO-GAPS.
|
||||
l_row_end_c = filter_area-row_end.
|
||||
CONDENSE l_row_end_c NO-GAPS.
|
||||
|
||||
l_row_start_c = filter_area-row_start.
|
||||
CONDENSE l_row_start_c NO-GAPS.
|
||||
l_row_start_c = filter_area-row_start.
|
||||
CONDENSE l_row_start_c NO-GAPS.
|
||||
|
||||
l_col_start_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_start ) .
|
||||
l_col_end_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_end ) .
|
||||
l_value = worksheet->get_title( ) .
|
||||
l_col_start_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_start ) .
|
||||
l_col_end_c = zcl_excel_common=>convert_column2alpha( ip_column = filter_area-col_end ) .
|
||||
l_value = worksheet->get_title( ) .
|
||||
|
||||
r_ref = zcl_excel_common=>escape_string( ip_value = l_value ).
|
||||
r_ref = zcl_excel_common=>escape_string( ip_value = l_value ).
|
||||
|
||||
CONCATENATE r_ref '!$' l_col_start_c '$' l_row_start_c ':$' l_col_end_c '$' l_row_end_c INTO r_ref.
|
||||
CONCATENATE r_ref '!$' l_col_start_c '$' l_row_start_c ':$' l_col_end_c '$' l_row_end_c INTO r_ref.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_values.
|
||||
METHOD get_values.
|
||||
|
||||
FIELD-SYMBOLS: <ls_filter> LIKE LINE OF me->mt_filters,
|
||||
<ls_value> LIKE LINE OF <ls_filter>-t_values.
|
||||
FIELD-SYMBOLS: <ls_filter> LIKE LINE OF me->mt_filters,
|
||||
<ls_value> LIKE LINE OF <ls_filter>-t_values.
|
||||
|
||||
DATA: ls_filter LIKE LINE OF rt_filter.
|
||||
DATA: ls_filter LIKE LINE OF rt_filter.
|
||||
|
||||
LOOP AT me->mt_filters ASSIGNING <ls_filter> WHERE rule = mc_filter_rule_single_values.
|
||||
LOOP AT me->mt_filters ASSIGNING <ls_filter> WHERE rule = mc_filter_rule_single_values.
|
||||
|
||||
ls_filter-column = <ls_filter>-column.
|
||||
LOOP AT <ls_filter>-t_values ASSIGNING <ls_value>.
|
||||
ls_filter-value = <ls_value>.
|
||||
APPEND ls_filter TO rt_filter.
|
||||
ENDLOOP.
|
||||
|
||||
ls_filter-column = <ls_filter>-column.
|
||||
LOOP AT <ls_filter>-t_values ASSIGNING <ls_value>.
|
||||
ls_filter-value = <ls_value>.
|
||||
APPEND ls_filter TO rt_filter.
|
||||
ENDLOOP.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_row_hidden.
|
||||
METHOD is_row_hidden.
|
||||
|
||||
|
||||
DATA: lr_filter TYPE REF TO ts_filter,
|
||||
lv_col TYPE i.
|
||||
DATA: lr_filter TYPE REF TO ts_filter,
|
||||
lv_col TYPE i.
|
||||
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
|
||||
rv_is_hidden = abap_false.
|
||||
rv_is_hidden = abap_false.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* 1st row of filter area is never hidden, because here the filter
|
||||
* symbol is being shown
|
||||
*--------------------------------------------------------------------*
|
||||
IF iv_row = me->filter_area-row_start.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
|
||||
lv_col = me->filter_area-col_start.
|
||||
|
||||
|
||||
WHILE lv_col <= me->filter_area-col_end.
|
||||
|
||||
lr_filter = me->get_column_filter( lv_col ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
|
||||
CASE <ls_filter>-rule.
|
||||
|
||||
WHEN mc_filter_rule_single_values.
|
||||
rv_is_hidden = me->is_row_hidden_single_values( iv_row = iv_row
|
||||
iv_col = lv_col
|
||||
is_filter = <ls_filter> ).
|
||||
|
||||
WHEN mc_filter_rule_text_pattern.
|
||||
rv_is_hidden = me->is_row_hidden_text_pattern( iv_row = iv_row
|
||||
iv_col = lv_col
|
||||
is_filter = <ls_filter> ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
IF rv_is_hidden = abap_true.
|
||||
IF iv_row = me->filter_area-row_start.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
|
||||
ADD 1 TO lv_col.
|
||||
|
||||
ENDWHILE.
|
||||
lv_col = me->filter_area-col_start.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
WHILE lv_col <= me->filter_area-col_end.
|
||||
|
||||
lr_filter = me->get_column_filter( lv_col ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
|
||||
CASE <ls_filter>-rule.
|
||||
|
||||
WHEN mc_filter_rule_single_values.
|
||||
rv_is_hidden = me->is_row_hidden_single_values( iv_row = iv_row
|
||||
iv_col = lv_col
|
||||
is_filter = <ls_filter> ).
|
||||
|
||||
WHEN mc_filter_rule_text_pattern.
|
||||
rv_is_hidden = me->is_row_hidden_text_pattern( iv_row = iv_row
|
||||
iv_col = lv_col
|
||||
is_filter = <ls_filter> ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
IF rv_is_hidden = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
|
||||
METHOD is_row_hidden_single_values.
|
||||
ADD 1 TO lv_col.
|
||||
|
||||
ENDWHILE.
|
||||
|
||||
|
||||
DATA: lv_value TYPE string.
|
||||
ENDMETHOD.
|
||||
|
||||
FIELD-SYMBOLS: <ls_sheet_content> LIKE LINE OF me->worksheet->sheet_content.
|
||||
|
||||
rv_is_hidden = abap_false. " Default setting is NOT HIDDEN = is in filter range
|
||||
METHOD is_row_hidden_single_values.
|
||||
|
||||
|
||||
DATA: lv_value TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_sheet_content> LIKE LINE OF me->worksheet->sheet_content.
|
||||
|
||||
rv_is_hidden = abap_false. " Default setting is NOT HIDDEN = is in filter range
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* No filter values --> only symbol should be shown but nothing is being hidden
|
||||
*--------------------------------------------------------------------*
|
||||
IF is_filter-t_values IS INITIAL.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_filter-t_values IS INITIAL.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* Get value of cell
|
||||
*--------------------------------------------------------------------*
|
||||
READ TABLE me->worksheet->sheet_content ASSIGNING <ls_sheet_content> WITH TABLE KEY cell_row = iv_row
|
||||
cell_column = iv_col.
|
||||
IF sy-subrc = 0.
|
||||
lv_value = <ls_sheet_content>-cell_value.
|
||||
ELSE.
|
||||
CLEAR lv_value.
|
||||
ENDIF.
|
||||
READ TABLE me->worksheet->sheet_content ASSIGNING <ls_sheet_content> WITH TABLE KEY cell_row = iv_row
|
||||
cell_column = iv_col.
|
||||
IF sy-subrc = 0.
|
||||
lv_value = <ls_sheet_content>-cell_value.
|
||||
ELSE.
|
||||
CLEAR lv_value.
|
||||
ENDIF.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* Check whether it is affected by filter
|
||||
* this needs to be extended if we support other filtertypes
|
||||
* other than single values
|
||||
*--------------------------------------------------------------------*
|
||||
READ TABLE is_filter-t_values TRANSPORTING NO FIELDS WITH TABLE KEY table_line = lv_value.
|
||||
IF sy-subrc <> 0.
|
||||
rv_is_hidden = abap_true.
|
||||
ENDIF.
|
||||
READ TABLE is_filter-t_values TRANSPORTING NO FIELDS WITH TABLE KEY table_line = lv_value.
|
||||
IF sy-subrc <> 0.
|
||||
rv_is_hidden = abap_true.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_row_hidden_text_pattern.
|
||||
METHOD is_row_hidden_text_pattern.
|
||||
|
||||
|
||||
|
||||
DATA: lv_value TYPE string.
|
||||
DATA: lv_value TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_sheet_content> LIKE LINE OF me->worksheet->sheet_content.
|
||||
FIELD-SYMBOLS: <ls_sheet_content> LIKE LINE OF me->worksheet->sheet_content.
|
||||
|
||||
rv_is_hidden = abap_false. " Default setting is NOT HIDDEN = is in filter range
|
||||
rv_is_hidden = abap_false. " Default setting is NOT HIDDEN = is in filter range
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* Get value of cell
|
||||
*--------------------------------------------------------------------*
|
||||
READ TABLE me->worksheet->sheet_content ASSIGNING <ls_sheet_content> WITH TABLE KEY cell_row = iv_row
|
||||
cell_column = iv_col.
|
||||
IF sy-subrc = 0.
|
||||
lv_value = <ls_sheet_content>-cell_value.
|
||||
ELSE.
|
||||
CLEAR lv_value.
|
||||
ENDIF.
|
||||
READ TABLE me->worksheet->sheet_content ASSIGNING <ls_sheet_content> WITH TABLE KEY cell_row = iv_row
|
||||
cell_column = iv_col.
|
||||
IF sy-subrc = 0.
|
||||
lv_value = <ls_sheet_content>-cell_value.
|
||||
ELSE.
|
||||
CLEAR lv_value.
|
||||
ENDIF.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* Check whether it is affected by filter
|
||||
* this needs to be extended if we support other filtertypes
|
||||
* other than single values
|
||||
*--------------------------------------------------------------------*
|
||||
IF lv_value NOT IN is_filter-tr_textfilter1.
|
||||
rv_is_hidden = abap_true.
|
||||
ENDIF.
|
||||
IF lv_value NOT IN is_filter-tr_textfilter1.
|
||||
rv_is_hidden = abap_true.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_filter_area.
|
||||
METHOD set_filter_area.
|
||||
|
||||
filter_area = is_area.
|
||||
filter_area = is_area.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_text_filter.
|
||||
METHOD set_text_filter.
|
||||
* see method documentation how to use this
|
||||
|
||||
DATA: lr_filter TYPE REF TO ts_filter,
|
||||
ls_value1 TYPE LINE OF ts_filter-tr_textfilter1.
|
||||
DATA: lr_filter TYPE REF TO ts_filter,
|
||||
ls_value1 TYPE LINE OF ts_filter-tr_textfilter1.
|
||||
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
|
||||
|
||||
lr_filter = me->get_column_filter( i_column ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
lr_filter = me->get_column_filter( i_column ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
|
||||
<ls_filter>-rule = mc_filter_rule_text_pattern.
|
||||
CLEAR <ls_filter>-tr_textfilter1.
|
||||
<ls_filter>-rule = mc_filter_rule_text_pattern.
|
||||
CLEAR <ls_filter>-tr_textfilter1.
|
||||
|
||||
IF iv_textfilter1 CA '*+'. " Pattern
|
||||
ls_value1-sign = 'I'.
|
||||
ls_value1-option = 'CP'.
|
||||
ls_value1-low = iv_textfilter1.
|
||||
ELSE.
|
||||
ls_value1-sign = 'I'.
|
||||
ls_value1-option = 'EQ'.
|
||||
ls_value1-low = iv_textfilter1.
|
||||
ENDIF.
|
||||
APPEND ls_value1 TO <ls_filter>-tr_textfilter1.
|
||||
IF iv_textfilter1 CA '*+'. " Pattern
|
||||
ls_value1-sign = 'I'.
|
||||
ls_value1-option = 'CP'.
|
||||
ls_value1-low = iv_textfilter1.
|
||||
ELSE.
|
||||
ls_value1-sign = 'I'.
|
||||
ls_value1-option = 'EQ'.
|
||||
ls_value1-low = iv_textfilter1.
|
||||
ENDIF.
|
||||
APPEND ls_value1 TO <ls_filter>-tr_textfilter1.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_value.
|
||||
METHOD set_value.
|
||||
|
||||
DATA: lr_filter TYPE REF TO ts_filter.
|
||||
DATA: lr_filter TYPE REF TO ts_filter.
|
||||
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
|
||||
|
||||
|
||||
lr_filter = me->get_column_filter( i_column ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
lr_filter = me->get_column_filter( i_column ).
|
||||
ASSIGN lr_filter->* TO <ls_filter>.
|
||||
|
||||
<ls_filter>-rule = mc_filter_rule_single_values.
|
||||
<ls_filter>-rule = mc_filter_rule_single_values.
|
||||
|
||||
INSERT i_value INTO TABLE <ls_filter>-t_values.
|
||||
INSERT i_value INTO TABLE <ls_filter>-t_values.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_values.
|
||||
METHOD set_values.
|
||||
|
||||
FIELD-SYMBOLS: <ls_value> LIKE LINE OF it_values.
|
||||
FIELD-SYMBOLS: <ls_value> LIKE LINE OF it_values.
|
||||
|
||||
LOOP AT it_values ASSIGNING <ls_value>.
|
||||
LOOP AT it_values ASSIGNING <ls_value>.
|
||||
|
||||
me->set_value( i_column = <ls_value>-column
|
||||
i_value = <ls_value>-value ).
|
||||
me->set_value( i_column = <ls_value>-column
|
||||
i_value = <ls_value>-value ).
|
||||
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD validate_area.
|
||||
DATA: l_col TYPE zexcel_cell_column,
|
||||
l_row TYPE zexcel_cell_row.
|
||||
METHOD validate_area.
|
||||
DATA: l_col TYPE zexcel_cell_column,
|
||||
l_row TYPE zexcel_cell_row.
|
||||
|
||||
l_row = worksheet->get_highest_row( ) .
|
||||
l_col = worksheet->get_highest_column( ) .
|
||||
l_row = worksheet->get_highest_row( ) .
|
||||
l_col = worksheet->get_highest_column( ) .
|
||||
|
||||
IF filter_area IS INITIAL.
|
||||
filter_area-row_start = 1.
|
||||
filter_area-col_start = 1.
|
||||
filter_area-row_end = l_row .
|
||||
filter_area-col_end = l_col .
|
||||
ENDIF.
|
||||
IF filter_area IS INITIAL.
|
||||
filter_area-row_start = 1.
|
||||
filter_area-col_start = 1.
|
||||
filter_area-row_end = l_row .
|
||||
filter_area-col_end = l_col .
|
||||
ENDIF.
|
||||
|
||||
IF filter_area-row_start < 1.
|
||||
filter_area-row_start = 1.
|
||||
ENDIF.
|
||||
IF filter_area-col_start < 1.
|
||||
filter_area-col_start = 1.
|
||||
ENDIF.
|
||||
IF filter_area-row_end > l_row OR
|
||||
filter_area-row_end < 1.
|
||||
filter_area-row_end = l_row.
|
||||
ENDIF.
|
||||
IF filter_area-col_end > l_col OR
|
||||
filter_area-col_end < 1.
|
||||
filter_area-col_end = l_col.
|
||||
ENDIF.
|
||||
IF filter_area-row_start >= filter_area-row_end.
|
||||
filter_area-row_start = filter_area-row_end - 1.
|
||||
IF filter_area-row_start < 1.
|
||||
filter_area-row_start = 1.
|
||||
filter_area-row_end = 2.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF filter_area-col_start > filter_area-col_end.
|
||||
filter_area-col_start = filter_area-col_end.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
IF filter_area-col_start < 1.
|
||||
filter_area-col_start = 1.
|
||||
ENDIF.
|
||||
IF filter_area-row_end > l_row OR
|
||||
filter_area-row_end < 1.
|
||||
filter_area-row_end = l_row.
|
||||
ENDIF.
|
||||
IF filter_area-col_end > l_col OR
|
||||
filter_area-col_end < 1.
|
||||
filter_area-col_end = l_col.
|
||||
ENDIF.
|
||||
IF filter_area-row_start >= filter_area-row_end.
|
||||
filter_area-row_start = filter_area-row_end - 1.
|
||||
IF filter_area-row_start < 1.
|
||||
filter_area-row_start = 1.
|
||||
filter_area-row_end = 2.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF filter_area-col_start > filter_area-col_end.
|
||||
filter_area-col_start = filter_area-col_end.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,122 +1,122 @@
|
|||
class ZCL_EXCEL_AUTOFILTERS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_autofilters DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_AUTOFILTERS
|
||||
*"* do not include other source files here!!!
|
||||
type-pools ABAP .
|
||||
TYPE-POOLS abap .
|
||||
|
||||
constants C_AUTOFILTER type STRING value '_xlnm._FilterDatabase'. "#EC NOTEXT
|
||||
CONSTANTS c_autofilter TYPE string VALUE '_xlnm._FilterDatabase'. "#EC NOTEXT
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IO_SHEET type ref to ZCL_EXCEL_WORKSHEET
|
||||
returning
|
||||
value(RO_AUTOFILTER) type ref to ZCL_EXCEL_AUTOFILTER
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods CLEAR .
|
||||
methods GET
|
||||
importing
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET optional
|
||||
!I_SHEET_GUID type sysuuid_x16 optional
|
||||
returning
|
||||
value(RO_AUTOFILTER) type ref to ZCL_EXCEL_AUTOFILTER .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(R_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IO_SHEET type ANY .
|
||||
methods SIZE
|
||||
returning
|
||||
value(R_SIZE) type I .
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!io_sheet TYPE REF TO zcl_excel_worksheet
|
||||
RETURNING
|
||||
VALUE(ro_autofilter) TYPE REF TO zcl_excel_autofilter
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS clear .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet OPTIONAL
|
||||
!i_sheet_guid TYPE sysuuid_x16 OPTIONAL
|
||||
RETURNING
|
||||
VALUE(ro_autofilter) TYPE REF TO zcl_excel_autofilter .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(r_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!io_sheet TYPE any .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(r_size) TYPE i .
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
private section.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
types:
|
||||
BEGIN OF ts_autofilter,
|
||||
worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
autofilter TYPE REF TO zcl_excel_autofilter,
|
||||
END OF ts_autofilter .
|
||||
types:
|
||||
tt_autofilters TYPE HASHED TABLE OF ts_autofilter WITH UNIQUE KEY worksheet .
|
||||
TYPES:
|
||||
BEGIN OF ts_autofilter,
|
||||
worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
autofilter TYPE REF TO zcl_excel_autofilter,
|
||||
END OF ts_autofilter .
|
||||
TYPES:
|
||||
tt_autofilters TYPE HASHED TABLE OF ts_autofilter WITH UNIQUE KEY worksheet .
|
||||
|
||||
data MT_AUTOFILTERS type TT_AUTOFILTERS .
|
||||
DATA mt_autofilters TYPE tt_autofilters .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_AUTOFILTERS IMPLEMENTATION.
|
||||
CLASS zcl_excel_autofilters IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add.
|
||||
METHOD add.
|
||||
|
||||
DATA: ls_autofilter LIKE LINE OF me->mt_autofilters.
|
||||
DATA: ls_autofilter LIKE LINE OF me->mt_autofilters.
|
||||
|
||||
FIELD-SYMBOLS: <ls_autofilter> LIKE LINE OF me->mt_autofilters.
|
||||
FIELD-SYMBOLS: <ls_autofilter> LIKE LINE OF me->mt_autofilters.
|
||||
|
||||
READ TABLE me->mt_autofilters ASSIGNING <ls_autofilter> WITH TABLE KEY worksheet = io_sheet.
|
||||
IF sy-subrc = 0.
|
||||
RAISE EXCEPTION TYPE zcx_excel. " adding another autofilter to sheet is not allowed
|
||||
ENDIF.
|
||||
READ TABLE me->mt_autofilters ASSIGNING <ls_autofilter> WITH TABLE KEY worksheet = io_sheet.
|
||||
IF sy-subrc = 0.
|
||||
RAISE EXCEPTION TYPE zcx_excel. " adding another autofilter to sheet is not allowed
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT ro_autofilter
|
||||
EXPORTING
|
||||
io_sheet = io_sheet.
|
||||
CREATE OBJECT ro_autofilter
|
||||
EXPORTING
|
||||
io_sheet = io_sheet.
|
||||
|
||||
ls_autofilter-worksheet = io_sheet.
|
||||
ls_autofilter-autofilter = ro_autofilter.
|
||||
INSERT ls_autofilter INTO TABLE me->mt_autofilters.
|
||||
ls_autofilter-worksheet = io_sheet.
|
||||
ls_autofilter-autofilter = ro_autofilter.
|
||||
INSERT ls_autofilter INTO TABLE me->mt_autofilters.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD clear.
|
||||
METHOD clear.
|
||||
|
||||
CLEAR me->mt_autofilters.
|
||||
CLEAR me->mt_autofilters.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get.
|
||||
METHOD get.
|
||||
|
||||
FIELD-SYMBOLS: <ls_autofilter> LIKE LINE OF me->mt_autofilters.
|
||||
FIELD-SYMBOLS: <ls_autofilter> LIKE LINE OF me->mt_autofilters.
|
||||
|
||||
READ TABLE me->mt_autofilters ASSIGNING <ls_autofilter> WITH TABLE KEY worksheet = io_worksheet.
|
||||
IF sy-subrc = 0.
|
||||
ro_autofilter = <ls_autofilter>-autofilter.
|
||||
ELSE.
|
||||
CLEAR ro_autofilter.
|
||||
ENDIF.
|
||||
READ TABLE me->mt_autofilters ASSIGNING <ls_autofilter> WITH TABLE KEY worksheet = io_worksheet.
|
||||
IF sy-subrc = 0.
|
||||
ro_autofilter = <ls_autofilter>-autofilter.
|
||||
ELSE.
|
||||
CLEAR ro_autofilter.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_empty.
|
||||
IF me->mt_autofilters IS INITIAL.
|
||||
r_empty = abap_true.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
METHOD is_empty.
|
||||
IF me->mt_autofilters IS INITIAL.
|
||||
r_empty = abap_true.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD remove.
|
||||
METHOD remove.
|
||||
|
||||
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
|
||||
DELETE TABLE me->mt_autofilters WITH TABLE KEY worksheet = lo_worksheet.
|
||||
DELETE TABLE me->mt_autofilters WITH TABLE KEY worksheet = lo_worksheet.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD size.
|
||||
DESCRIBE TABLE me->mt_autofilters LINES r_size.
|
||||
ENDMETHOD.
|
||||
METHOD size.
|
||||
DESCRIBE TABLE me->mt_autofilters LINES r_size.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,226 +1,226 @@
|
|||
class ZCL_EXCEL_COLUMN definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_column DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_COLUMN
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
!IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
|
||||
!IP_EXCEL type ref to ZCL_EXCEL .
|
||||
methods GET_AUTO_SIZE
|
||||
returning
|
||||
value(R_AUTO_SIZE) type ABAP_BOOL .
|
||||
methods GET_COLLAPSED
|
||||
returning
|
||||
value(R_COLLAPSED) type ABAP_BOOL .
|
||||
methods GET_COLUMN_INDEX
|
||||
returning
|
||||
value(R_COLUMN_INDEX) type INT4 .
|
||||
methods GET_OUTLINE_LEVEL
|
||||
returning
|
||||
value(R_OUTLINE_LEVEL) type INT4 .
|
||||
methods GET_VISIBLE
|
||||
returning
|
||||
value(R_VISIBLE) type ABAP_BOOL .
|
||||
methods GET_WIDTH
|
||||
returning
|
||||
value(R_WIDTH) type FLOAT .
|
||||
methods GET_XF_INDEX
|
||||
returning
|
||||
value(R_XF_INDEX) type INT4 .
|
||||
methods SET_AUTO_SIZE
|
||||
importing
|
||||
!IP_AUTO_SIZE type ABAP_BOOL
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SET_COLLAPSED
|
||||
importing
|
||||
!IP_COLLAPSED type ABAP_BOOL
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SET_COLUMN_INDEX
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SET_OUTLINE_LEVEL
|
||||
importing
|
||||
!IP_OUTLINE_LEVEL type INT4 .
|
||||
methods SET_VISIBLE
|
||||
importing
|
||||
!IP_VISIBLE type ABAP_BOOL
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SET_WIDTH
|
||||
importing
|
||||
!IP_WIDTH type SIMPLE
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods SET_XF_INDEX
|
||||
importing
|
||||
!IP_XF_INDEX type INT4
|
||||
returning
|
||||
value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SET_COLUMN_STYLE_BY_GUID
|
||||
importing
|
||||
!IP_STYLE_GUID type ZEXCEL_CELL_STYLE
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_COLUMN_STYLE_GUID
|
||||
returning
|
||||
value(EP_STYLE_GUID) type ZEXCEL_CELL_STYLE
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!ip_index TYPE zexcel_cell_column_alpha
|
||||
!ip_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
!ip_excel TYPE REF TO zcl_excel .
|
||||
METHODS get_auto_size
|
||||
RETURNING
|
||||
VALUE(r_auto_size) TYPE abap_bool .
|
||||
METHODS get_collapsed
|
||||
RETURNING
|
||||
VALUE(r_collapsed) TYPE abap_bool .
|
||||
METHODS get_column_index
|
||||
RETURNING
|
||||
VALUE(r_column_index) TYPE int4 .
|
||||
METHODS get_outline_level
|
||||
RETURNING
|
||||
VALUE(r_outline_level) TYPE int4 .
|
||||
METHODS get_visible
|
||||
RETURNING
|
||||
VALUE(r_visible) TYPE abap_bool .
|
||||
METHODS get_width
|
||||
RETURNING
|
||||
VALUE(r_width) TYPE float .
|
||||
METHODS get_xf_index
|
||||
RETURNING
|
||||
VALUE(r_xf_index) TYPE int4 .
|
||||
METHODS set_auto_size
|
||||
IMPORTING
|
||||
!ip_auto_size TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS set_collapsed
|
||||
IMPORTING
|
||||
!ip_collapsed TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS set_column_index
|
||||
IMPORTING
|
||||
!ip_index TYPE zexcel_cell_column_alpha
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS set_outline_level
|
||||
IMPORTING
|
||||
!ip_outline_level TYPE int4 .
|
||||
METHODS set_visible
|
||||
IMPORTING
|
||||
!ip_visible TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS set_width
|
||||
IMPORTING
|
||||
!ip_width TYPE simple
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS set_xf_index
|
||||
IMPORTING
|
||||
!ip_xf_index TYPE int4
|
||||
RETURNING
|
||||
VALUE(io_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS set_column_style_by_guid
|
||||
IMPORTING
|
||||
!ip_style_guid TYPE zexcel_cell_style
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS get_column_style_guid
|
||||
RETURNING
|
||||
VALUE(ep_style_guid) TYPE zexcel_cell_style
|
||||
RAISING
|
||||
zcx_excel .
|
||||
*"* protected components of class ZCL_EXCEL_COLUMN
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_COLUMN
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data COLUMN_INDEX type INT4 .
|
||||
data WIDTH type FLOAT .
|
||||
data AUTO_SIZE type ABAP_BOOL .
|
||||
data VISIBLE type ABAP_BOOL .
|
||||
data OUTLINE_LEVEL type INT4 .
|
||||
data COLLAPSED type ABAP_BOOL .
|
||||
data XF_INDEX type INT4 .
|
||||
data STYLE_GUID type ZEXCEL_CELL_STYLE .
|
||||
data EXCEL type ref to ZCL_EXCEL .
|
||||
data WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
|
||||
DATA column_index TYPE int4 .
|
||||
DATA width TYPE float .
|
||||
DATA auto_size TYPE abap_bool .
|
||||
DATA visible TYPE abap_bool .
|
||||
DATA outline_level TYPE int4 .
|
||||
DATA collapsed TYPE abap_bool .
|
||||
DATA xf_index TYPE int4 .
|
||||
DATA style_guid TYPE zexcel_cell_style .
|
||||
DATA excel TYPE REF TO zcl_excel .
|
||||
DATA worksheet TYPE REF TO zcl_excel_worksheet .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_COLUMN IMPLEMENTATION.
|
||||
CLASS zcl_excel_column IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
me->width = -1.
|
||||
me->auto_size = abap_false.
|
||||
me->visible = abap_true.
|
||||
me->outline_level = 0.
|
||||
me->collapsed = abap_false.
|
||||
me->excel = ip_excel. "ins issue #157 - Allow Style for columns
|
||||
me->worksheet = ip_worksheet. "ins issue #157 - Allow Style for columns
|
||||
METHOD constructor.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
me->width = -1.
|
||||
me->auto_size = abap_false.
|
||||
me->visible = abap_true.
|
||||
me->outline_level = 0.
|
||||
me->collapsed = abap_false.
|
||||
me->excel = ip_excel. "ins issue #157 - Allow Style for columns
|
||||
me->worksheet = ip_worksheet. "ins issue #157 - Allow Style for columns
|
||||
|
||||
" set default index to cellXf
|
||||
me->xf_index = 0.
|
||||
" set default index to cellXf
|
||||
me->xf_index = 0.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_AUTO_SIZE.
|
||||
r_auto_size = me->auto_size.
|
||||
endmethod.
|
||||
METHOD get_auto_size.
|
||||
r_auto_size = me->auto_size.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLLAPSED.
|
||||
r_Collapsed = me->Collapsed.
|
||||
endmethod.
|
||||
METHOD get_collapsed.
|
||||
r_collapsed = me->collapsed.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLUMN_INDEX.
|
||||
r_column_index = me->column_index.
|
||||
endmethod.
|
||||
METHOD get_column_index.
|
||||
r_column_index = me->column_index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLUMN_STYLE_GUID.
|
||||
IF me->style_guid IS NOT INITIAL.
|
||||
ep_style_guid = me->style_guid.
|
||||
ELSE.
|
||||
ep_style_guid = me->worksheet->zif_excel_sheet_properties~get_style( ).
|
||||
ENDIF.
|
||||
endmethod.
|
||||
METHOD get_column_style_guid.
|
||||
IF me->style_guid IS NOT INITIAL.
|
||||
ep_style_guid = me->style_guid.
|
||||
ELSE.
|
||||
ep_style_guid = me->worksheet->zif_excel_sheet_properties~get_style( ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_OUTLINE_LEVEL.
|
||||
r_outline_level = me->outline_level.
|
||||
endmethod.
|
||||
METHOD get_outline_level.
|
||||
r_outline_level = me->outline_level.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_VISIBLE.
|
||||
r_Visible = me->Visible.
|
||||
endmethod.
|
||||
METHOD get_visible.
|
||||
r_visible = me->visible.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_WIDTH.
|
||||
r_WIDTH = me->WIDTH.
|
||||
endmethod.
|
||||
METHOD get_width.
|
||||
r_width = me->width.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_XF_INDEX.
|
||||
r_xf_index = me->xf_index.
|
||||
endmethod.
|
||||
METHOD get_xf_index.
|
||||
r_xf_index = me->xf_index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_auto_size.
|
||||
me->auto_size = ip_auto_size.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
METHOD set_auto_size.
|
||||
me->auto_size = ip_auto_size.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_collapsed.
|
||||
me->collapsed = ip_collapsed.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
METHOD set_collapsed.
|
||||
me->collapsed = ip_collapsed.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_column_index.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
METHOD set_column_index.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_COLUMN_STYLE_BY_GUID.
|
||||
DATA: stylemapping TYPE zexcel_s_stylemapping.
|
||||
METHOD set_column_style_by_guid.
|
||||
DATA: stylemapping TYPE zexcel_s_stylemapping.
|
||||
|
||||
IF me->excel IS NOT BOUND.
|
||||
zcx_excel=>raise_text( 'Internal error - reference to ZCL_EXCEL not bound' ).
|
||||
ENDIF.
|
||||
TRY.
|
||||
stylemapping = me->excel->get_style_to_guid( ip_style_guid ).
|
||||
me->style_guid = stylemapping-guid.
|
||||
IF me->excel IS NOT BOUND.
|
||||
zcx_excel=>raise_text( 'Internal error - reference to ZCL_EXCEL not bound' ).
|
||||
ENDIF.
|
||||
TRY.
|
||||
stylemapping = me->excel->get_style_to_guid( ip_style_guid ).
|
||||
me->style_guid = stylemapping-guid.
|
||||
|
||||
CATCH zcx_excel .
|
||||
EXIT. " leave as is in case of error
|
||||
ENDTRY.
|
||||
CATCH zcx_excel .
|
||||
EXIT. " leave as is in case of error
|
||||
ENDTRY.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_OUTLINE_LEVEL.
|
||||
me->outline_level = ip_outline_level.
|
||||
endmethod.
|
||||
METHOD set_outline_level.
|
||||
me->outline_level = ip_outline_level.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_visible.
|
||||
me->visible = ip_visible.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
METHOD set_visible.
|
||||
me->visible = ip_visible.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_width.
|
||||
TRY.
|
||||
me->width = ip_width.
|
||||
io_column = me.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
zcx_excel=>raise_text( 'Unable to interpret width as number' ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
METHOD set_width.
|
||||
TRY.
|
||||
me->width = ip_width.
|
||||
io_column = me.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
zcx_excel=>raise_text( 'Unable to interpret width as number' ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_xf_index.
|
||||
me->xf_index = ip_xf_index.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
METHOD set_xf_index.
|
||||
me->xf_index = ip_xf_index.
|
||||
io_column = me.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,108 +1,108 @@
|
|||
class ZCL_EXCEL_COLUMNS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_columns DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_COLUMNS
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
types:
|
||||
begin of MTY_S_HASHED_COLUMN,
|
||||
COLUMN_INDEX type INT4,
|
||||
COLUMN type ref to ZCL_EXCEL_COLUMN,
|
||||
end of MTY_S_HASHED_COLUMN ,
|
||||
MTY_TS_HASEHD_COLUMN type hashed table of MTY_S_HASHED_COLUMN with unique key COLUMN_INDEX.
|
||||
PUBLIC SECTION.
|
||||
TYPES:
|
||||
BEGIN OF mty_s_hashed_column,
|
||||
column_index TYPE int4,
|
||||
column TYPE REF TO zcl_excel_column,
|
||||
END OF mty_s_hashed_column ,
|
||||
mty_ts_hasehd_column TYPE HASHED TABLE OF mty_s_hashed_column WITH UNIQUE KEY column_index.
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IO_COLUMN type ref to ZCL_EXCEL_COLUMN .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
returning
|
||||
value(EO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IO_COLUMN type ref to ZCL_EXCEL_COLUMN .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!io_column TYPE REF TO zcl_excel_column .
|
||||
METHODS clear .
|
||||
METHODS constructor .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!ip_index TYPE i
|
||||
RETURNING
|
||||
VALUE(eo_column) TYPE REF TO zcl_excel_column .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!io_column TYPE REF TO zcl_excel_column .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZABAP_EXCEL_RANGES
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data COLUMNS type ref to CL_OBJECT_COLLECTION .
|
||||
data COLUMNS_HASEHD type MTY_TS_HASEHD_COLUMN .
|
||||
DATA columns TYPE REF TO cl_object_collection .
|
||||
DATA columns_hasehd TYPE mty_ts_hasehd_column .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_COLUMNS IMPLEMENTATION.
|
||||
CLASS zcl_excel_columns IMPLEMENTATION.
|
||||
|
||||
|
||||
method ADD.
|
||||
data: LS_HASHED_COLUMN type MTY_S_HASHED_COLUMN.
|
||||
METHOD add.
|
||||
DATA: ls_hashed_column TYPE mty_s_hashed_column.
|
||||
|
||||
LS_HASHED_COLUMN-COLUMN_INDEX = IO_COLUMN->GET_COLUMN_INDEX( ).
|
||||
LS_HASHED_COLUMN-COLUMN = IO_COLUMN.
|
||||
ls_hashed_column-column_index = io_column->get_column_index( ).
|
||||
ls_hashed_column-column = io_column.
|
||||
|
||||
insert LS_HASHED_COLUMN into table COLUMNS_HASEHD .
|
||||
INSERT ls_hashed_column INTO TABLE columns_hasehd .
|
||||
|
||||
COLUMNS->ADD( IO_COLUMN ).
|
||||
endmethod.
|
||||
columns->add( io_column ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CLEAR.
|
||||
clear COLUMNS_HASEHD.
|
||||
COLUMNS->CLEAR( ).
|
||||
endmethod.
|
||||
METHOD clear.
|
||||
CLEAR columns_hasehd.
|
||||
columns->clear( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
create object COLUMNS.
|
||||
CREATE OBJECT columns.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET.
|
||||
field-symbols: <LS_HASHED_COLUMN> type MTY_S_HASHED_COLUMN.
|
||||
METHOD get.
|
||||
FIELD-SYMBOLS: <ls_hashed_column> TYPE mty_s_hashed_column.
|
||||
|
||||
read table COLUMNS_HASEHD with key COLUMN_INDEX = IP_INDEX assigning <LS_HASHED_COLUMN>.
|
||||
if SY-SUBRC = 0.
|
||||
EO_COLUMN = <LS_HASHED_COLUMN>-COLUMN.
|
||||
endif.
|
||||
endmethod.
|
||||
READ TABLE columns_hasehd WITH KEY column_index = ip_index ASSIGNING <ls_hashed_column>.
|
||||
IF sy-subrc = 0.
|
||||
eo_column = <ls_hashed_column>-column.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
EO_ITERATOR ?= COLUMNS->GET_ITERATOR( ).
|
||||
endmethod.
|
||||
METHOD get_iterator.
|
||||
eo_iterator ?= columns->get_iterator( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
IS_EMPTY = COLUMNS->IS_EMPTY( ).
|
||||
endmethod.
|
||||
METHOD is_empty.
|
||||
is_empty = columns->is_empty( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method REMOVE.
|
||||
delete table COLUMNS_HASEHD with table key COLUMN_INDEX = IO_COLUMN->GET_COLUMN_INDEX( ) .
|
||||
COLUMNS->REMOVE( IO_COLUMN ).
|
||||
endmethod.
|
||||
METHOD remove.
|
||||
DELETE TABLE columns_hasehd WITH TABLE KEY column_index = io_column->get_column_index( ) .
|
||||
columns->remove( io_column ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SIZE.
|
||||
EP_SIZE = COLUMNS->SIZE( ).
|
||||
endmethod.
|
||||
METHOD size.
|
||||
ep_size = columns->size( ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,67 +1,67 @@
|
|||
class ZCL_EXCEL_COMMENT definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_comment DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
methods GET_NAME
|
||||
returning
|
||||
value(R_NAME) type STRING .
|
||||
methods GET_INDEX
|
||||
returning
|
||||
value(RP_INDEX) type STRING .
|
||||
methods GET_REF
|
||||
returning
|
||||
value(RP_REF) type STRING .
|
||||
methods GET_TEXT
|
||||
returning
|
||||
value(RP_TEXT) type STRING .
|
||||
methods SET_TEXT
|
||||
importing
|
||||
!IP_TEXT type STRING
|
||||
!IP_REF type STRING optional .
|
||||
protected section.
|
||||
private section.
|
||||
METHODS constructor .
|
||||
METHODS get_name
|
||||
RETURNING
|
||||
VALUE(r_name) TYPE string .
|
||||
METHODS get_index
|
||||
RETURNING
|
||||
VALUE(rp_index) TYPE string .
|
||||
METHODS get_ref
|
||||
RETURNING
|
||||
VALUE(rp_ref) TYPE string .
|
||||
METHODS get_text
|
||||
RETURNING
|
||||
VALUE(rp_text) TYPE string .
|
||||
METHODS set_text
|
||||
IMPORTING
|
||||
!ip_text TYPE string
|
||||
!ip_ref TYPE string OPTIONAL .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data INDEX type STRING .
|
||||
data REF type STRING .
|
||||
data TEXT type STRING .
|
||||
DATA index TYPE string .
|
||||
DATA ref TYPE string .
|
||||
DATA text TYPE string .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_COMMENT IMPLEMENTATION.
|
||||
CLASS zcl_excel_comment IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
METHOD constructor.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_index.
|
||||
METHOD get_index.
|
||||
rp_index = me->index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_name.
|
||||
METHOD get_name.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_ref.
|
||||
rp_ref = me->ref.
|
||||
ENDMETHOD.
|
||||
METHOD get_ref.
|
||||
rp_ref = me->ref.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_TEXT.
|
||||
rp_text = me->text.
|
||||
endmethod.
|
||||
METHOD get_text.
|
||||
rp_text = me->text.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_text.
|
||||
METHOD set_text.
|
||||
me->text = ip_text.
|
||||
|
||||
IF ip_ref IS SUPPLIED.
|
||||
|
|
|
@ -1,100 +1,100 @@
|
|||
class ZCL_EXCEL_COMMENTS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_comments DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IP_COMMENT type ref to ZCL_EXCEL_COMMENT .
|
||||
methods INCLUDE
|
||||
importing
|
||||
!IP_COMMENT type ref to ZCL_EXCEL_COMMENT .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
|
||||
returning
|
||||
value(EO_COMMENT) type ref to ZCL_EXCEL_COMMENT .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IP_COMMENT type ref to ZCL_EXCEL_COMMENT .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
protected section.
|
||||
private section.
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!ip_comment TYPE REF TO zcl_excel_comment .
|
||||
METHODS include
|
||||
IMPORTING
|
||||
!ip_comment TYPE REF TO zcl_excel_comment .
|
||||
METHODS clear .
|
||||
METHODS constructor .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!ip_index TYPE zexcel_active_worksheet
|
||||
RETURNING
|
||||
VALUE(eo_comment) TYPE REF TO zcl_excel_comment .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!ip_comment TYPE REF TO zcl_excel_comment .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data COMMENTS type ref to CL_OBJECT_COLLECTION .
|
||||
DATA comments TYPE REF TO cl_object_collection .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_COMMENTS IMPLEMENTATION.
|
||||
CLASS zcl_excel_comments IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add.
|
||||
DATA: lv_index TYPE i.
|
||||
METHOD add.
|
||||
DATA: lv_index TYPE i.
|
||||
|
||||
comments->add( ip_comment ).
|
||||
lv_index = comments->size( ).
|
||||
comments->add( ip_comment ).
|
||||
lv_index = comments->size( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD clear.
|
||||
comments->clear( ).
|
||||
METHOD clear.
|
||||
comments->clear( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
CREATE OBJECT comments.
|
||||
METHOD constructor.
|
||||
CREATE OBJECT comments.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET.
|
||||
DATA lv_index TYPE i.
|
||||
lv_index = ip_index.
|
||||
eo_comment ?= comments->get( lv_index ).
|
||||
METHOD get.
|
||||
DATA lv_index TYPE i.
|
||||
lv_index = ip_index.
|
||||
eo_comment ?= comments->get( lv_index ).
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
METHOD get_iterator.
|
||||
|
||||
eo_iterator ?= comments->get_iterator( ).
|
||||
endmethod.
|
||||
eo_iterator ?= comments->get_iterator( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD include.
|
||||
comments->add( ip_comment ).
|
||||
ENDMETHOD.
|
||||
METHOD include.
|
||||
comments->add( ip_comment ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
METHOD is_empty.
|
||||
|
||||
is_empty = comments->is_empty( ).
|
||||
endmethod.
|
||||
is_empty = comments->is_empty( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method REMOVE.
|
||||
METHOD remove.
|
||||
|
||||
comments->remove( ip_comment ).
|
||||
endmethod.
|
||||
comments->remove( ip_comment ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SIZE.
|
||||
METHOD size.
|
||||
|
||||
ep_size = comments->size( ).
|
||||
endmethod.
|
||||
ep_size = comments->size( ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,77 +1,77 @@
|
|||
class ZCL_EXCEL_CONVERTER_ALV_GRID definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_CONVERTER_ALV
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_converter_alv_grid DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT
|
||||
redefinition .
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
methods ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~GET_SUPPORTED_CLASS
|
||||
redefinition .
|
||||
protected section.
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CONVERTER_ALV_GRID IMPLEMENTATION.
|
||||
CLASS zcl_excel_converter_alv_grid IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_GUI_ALV_GRID'.
|
||||
ENDMETHOD.
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_GUI_ALV_GRID'.
|
||||
ENDMETHOD.
|
||||
|
||||
method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
data: lo_alv type REF TO cl_gui_alv_grid.
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
|
||||
|
||||
try.
|
||||
lo_alv ?= io_object.
|
||||
catch cx_sy_move_cast_error .
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
TRY.
|
||||
lo_alv ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
ws_option = is_option.
|
||||
|
||||
lo_alv ?= io_object.
|
||||
lo_alv ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_alv IS BOUND.
|
||||
lo_alv->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = wt_fcat ).
|
||||
lo_alv->get_frontend_layout( IMPORTING es_layout = ws_layo ).
|
||||
lo_alv->get_sort_criteria( IMPORTING et_sort = wt_sort ) .
|
||||
lo_alv->get_filter_criteria( IMPORTING et_filter = wt_filt ) .
|
||||
IF lo_alv IS BOUND.
|
||||
lo_alv->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = wt_fcat ).
|
||||
lo_alv->get_frontend_layout( IMPORTING es_layout = ws_layo ).
|
||||
lo_alv->get_sort_criteria( IMPORTING et_sort = wt_sort ) .
|
||||
lo_alv->get_filter_criteria( IMPORTING et_filter = wt_filt ) .
|
||||
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,55 +1,55 @@
|
|||
class ZCL_EXCEL_CONVERTER_RESULT definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_CONVERTER_ALV
|
||||
abstract
|
||||
create public .
|
||||
CLASS zcl_excel_converter_result DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
ABSTRACT
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
|
||||
methods GET_TABLE
|
||||
importing
|
||||
!IO_OBJECT type ref to OBJECT
|
||||
returning
|
||||
value(RO_DATA) type ref to DATA .
|
||||
METHODS get_table
|
||||
IMPORTING
|
||||
!io_object TYPE REF TO object
|
||||
RETURNING
|
||||
VALUE(ro_data) TYPE REF TO data .
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CONVERTER_RESULT IMPLEMENTATION.
|
||||
CLASS zcl_excel_converter_result IMPLEMENTATION.
|
||||
|
||||
|
||||
method GET_TABLE.
|
||||
DATA: lo_object TYPE REF TO object,
|
||||
ls_seoclass TYPE seoclass,
|
||||
l_method TYPE string.
|
||||
METHOD get_table.
|
||||
DATA: lo_object TYPE REF TO object,
|
||||
ls_seoclass TYPE seoclass,
|
||||
l_method TYPE string.
|
||||
|
||||
SELECT SINGLE * INTO ls_seoclass
|
||||
FROM seoclass
|
||||
WHERE clsname = 'IF_SALV_BS_DATA_SOURCE'.
|
||||
SELECT SINGLE * INTO ls_seoclass
|
||||
FROM seoclass
|
||||
WHERE clsname = 'IF_SALV_BS_DATA_SOURCE'.
|
||||
|
||||
IF sy-subrc = 0.
|
||||
l_method = 'GET_TABLE_REF'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ELSE.
|
||||
l_method = 'GET_REF_TO_TABLE'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ENDIF.
|
||||
IF sy-subrc = 0.
|
||||
l_method = 'GET_TABLE_REF'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ELSE.
|
||||
l_method = 'GET_REF_TO_TABLE'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,97 +1,97 @@
|
|||
class ZCL_EXCEL_CONVERTER_RESULT_EX definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_CONVERTER_RESULT
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_converter_result_ex DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_result
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG
|
||||
redefinition .
|
||||
methods zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_EX_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CONVERTER_RESULT_EX IMPLEMENTATION.
|
||||
CLASS zcl_excel_converter_result_ex IMPLEMENTATION.
|
||||
|
||||
METHOD ZIF_EXCEL_CONVERTER~GET_SUPPORTED_CLASS.
|
||||
rv_supported_class = 'CL_SALV_EX_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_EX_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table.
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table.
|
||||
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table,
|
||||
lo_ex_cm TYPE REF TO cl_salv_ex_cm,
|
||||
lo_data TYPE REF TO data.
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table,
|
||||
lo_ex_cm TYPE REF TO cl_salv_ex_cm,
|
||||
lo_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
ws_option = is_option.
|
||||
|
||||
lo_result ?= io_object.
|
||||
lo_result ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
|
||||
lo_ex_cm ?= lo_result->r_model->r_model.
|
||||
ws_layo = lo_ex_cm->s_layo.
|
||||
lo_ex_cm ?= lo_result->r_model->r_model.
|
||||
ws_layo = lo_ex_cm->s_layo.
|
||||
* T_DRDN Instance Attribute Public Type LVC_T_DROP
|
||||
wt_fcat = lo_ex_cm->t_fcat.
|
||||
wt_filt = lo_ex_cm->t_filt.
|
||||
wt_fcat = lo_ex_cm->t_fcat.
|
||||
wt_filt = lo_ex_cm->t_filt.
|
||||
* T_HYPE Instance Attribute Public Type LVC_T_HYPE
|
||||
* T_SELECTED_CELLS Instance Attribute Public Type LVC_T_CELL
|
||||
* T_SELECTED_COLUMNS Instance Attribute Public Type LVC_T_COL
|
||||
wt_sort = lo_ex_cm->t_sort.
|
||||
wt_sort = lo_ex_cm->t_sort.
|
||||
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
else.
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ELSE.
|
||||
* We have a problem and should stop here.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,68 +1,68 @@
|
|||
class ZCL_EXCEL_CONVERTER_RESULT_WD definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_CONVERTER_RESULT
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_converter_result_wd DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_result
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~GET_SUPPORTED_CLASS
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
private section.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data WO_CONFIG type ref to CL_SALV_WD_CONFIG_TABLE .
|
||||
data WT_FIELDS type SALV_WD_T_FIELD_REF .
|
||||
data WT_COLUMNS type SALV_WD_T_COLUMN_REF .
|
||||
DATA wo_config TYPE REF TO cl_salv_wd_config_table .
|
||||
DATA wt_fields TYPE salv_wd_t_field_ref .
|
||||
DATA wt_columns TYPE salv_wd_t_column_ref .
|
||||
|
||||
methods GET_COLUMNS_INFO
|
||||
changing
|
||||
!XS_FCAT type LVC_S_FCAT .
|
||||
methods GET_FIELDS_INFO
|
||||
changing
|
||||
!XS_FCAT type LVC_S_FCAT .
|
||||
methods CREATE_WT_SORT .
|
||||
methods CREATE_WT_FILT .
|
||||
methods CREATE_WT_FCAT
|
||||
importing
|
||||
!IO_TABLE type ref to DATA .
|
||||
METHODS get_columns_info
|
||||
CHANGING
|
||||
!xs_fcat TYPE lvc_s_fcat .
|
||||
METHODS get_fields_info
|
||||
CHANGING
|
||||
!xs_fcat TYPE lvc_s_fcat .
|
||||
METHODS create_wt_sort .
|
||||
METHODS create_wt_filt .
|
||||
METHODS create_wt_fcat
|
||||
IMPORTING
|
||||
!io_table TYPE REF TO data .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CONVERTER_RESULT_WD IMPLEMENTATION.
|
||||
CLASS zcl_excel_converter_result_wd IMPLEMENTATION.
|
||||
|
||||
|
||||
method CREATE_WT_FCAT.
|
||||
DATA: lr_data TYPE REF TO data,
|
||||
lo_structdescr TYPE REF TO cl_abap_structdescr,
|
||||
lt_dfies TYPE ddfields,
|
||||
ls_dfies TYPE dfies.
|
||||
METHOD create_wt_fcat.
|
||||
DATA: lr_data TYPE REF TO data,
|
||||
lo_structdescr TYPE REF TO cl_abap_structdescr,
|
||||
lt_dfies TYPE ddfields,
|
||||
ls_dfies TYPE dfies.
|
||||
|
||||
DATA: ls_fcat TYPE lvc_s_fcat.
|
||||
DATA: ls_fcat TYPE lvc_s_fcat.
|
||||
|
||||
FIELD-SYMBOLS: <fs_tab> TYPE ANY TABLE.
|
||||
FIELD-SYMBOLS: <fs_tab> TYPE ANY TABLE.
|
||||
|
||||
ASSIGN io_table->* TO <fs_tab> .
|
||||
CREATE DATA lr_data LIKE LINE OF <fs_tab>.
|
||||
ASSIGN io_table->* TO <fs_tab> .
|
||||
CREATE DATA lr_data LIKE LINE OF <fs_tab>.
|
||||
|
||||
lo_structdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
|
||||
lo_structdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
|
||||
|
||||
lt_dfies = zcl_excel_common=>describe_structure( io_struct = lo_structdescr ).
|
||||
lt_dfies = zcl_excel_common=>describe_structure( io_struct = lo_structdescr ).
|
||||
|
||||
loop at lt_dfies into ls_dfies.
|
||||
LOOP AT lt_dfies INTO ls_dfies.
|
||||
MOVE-CORRESPONDING ls_dfies TO ls_fcat.
|
||||
* ls_fcat-columnname = ls_dfies-fieldname.
|
||||
ls_fcat-col_pos = ls_dfies-position.
|
||||
|
@ -74,188 +74,188 @@ method CREATE_WT_FCAT.
|
|||
get_columns_info( CHANGING xs_fcat = ls_fcat ) .
|
||||
|
||||
INSERT ls_fcat INTO TABLE wt_fcat.
|
||||
endloop.
|
||||
ENDLOOP.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CREATE_WT_FILT.
|
||||
METHOD create_wt_filt.
|
||||
* No neeed for superclass.
|
||||
* Only for WD
|
||||
DATA: lt_filters TYPE salv_wd_t_filter_rule_ref,
|
||||
ls_filt TYPE lvc_s_filt.
|
||||
DATA: lt_filters TYPE salv_wd_t_filter_rule_ref,
|
||||
ls_filt TYPE lvc_s_filt.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref,
|
||||
<fs_filter> TYPE salv_wd_s_filter_rule_ref.
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref,
|
||||
<fs_filter> TYPE salv_wd_s_filter_rule_ref.
|
||||
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
REFRESH lt_filters.
|
||||
lt_filters = <fs_fields>-r_field->if_salv_wd_filter~get_filter_rules( ) .
|
||||
LOOP AT lt_filters ASSIGNING <fs_filter>.
|
||||
ls_filt-fieldname = <fs_fields>-fieldname.
|
||||
IF <fs_filter>-r_filter_rule->get_included( ) = abap_true.
|
||||
ls_filt-sign = 'I'.
|
||||
ELSE.
|
||||
ls_filt-sign = 'E'.
|
||||
ENDIF.
|
||||
ls_filt-option = <fs_filter>-r_filter_rule->get_operator( ).
|
||||
ls_filt-high = <fs_filter>-r_filter_rule->get_high_value( ) .
|
||||
ls_filt-low = <fs_filter>-r_filter_rule->get_low_value( ) .
|
||||
INSERT ls_filt INTO TABLE wt_filt.
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
REFRESH lt_filters.
|
||||
lt_filters = <fs_fields>-r_field->if_salv_wd_filter~get_filter_rules( ) .
|
||||
LOOP AT lt_filters ASSIGNING <fs_filter>.
|
||||
ls_filt-fieldname = <fs_fields>-fieldname.
|
||||
IF <fs_filter>-r_filter_rule->get_included( ) = abap_true.
|
||||
ls_filt-sign = 'I'.
|
||||
ELSE.
|
||||
ls_filt-sign = 'E'.
|
||||
ENDIF.
|
||||
ls_filt-option = <fs_filter>-r_filter_rule->get_operator( ).
|
||||
ls_filt-high = <fs_filter>-r_filter_rule->get_high_value( ) .
|
||||
ls_filt-low = <fs_filter>-r_filter_rule->get_low_value( ) .
|
||||
INSERT ls_filt INTO TABLE wt_filt.
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CREATE_WT_SORT.
|
||||
DATA: lo_sort TYPE REF TO cl_salv_wd_sort_rule,
|
||||
l_sort_order TYPE salv_wd_constant,
|
||||
ls_sort TYPE lvc_s_sort.
|
||||
METHOD create_wt_sort.
|
||||
DATA: lo_sort TYPE REF TO cl_salv_wd_sort_rule,
|
||||
l_sort_order TYPE salv_wd_constant,
|
||||
ls_sort TYPE lvc_s_sort.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
lo_sort = <fs_fields>-r_field->if_salv_wd_sort~get_sort_rule( ) .
|
||||
IF lo_sort IS BOUND.
|
||||
l_sort_order = lo_sort->get_sort_order( ).
|
||||
IF l_sort_order <> if_salv_wd_c_sort=>sort_order.
|
||||
CLEAR ls_sort.
|
||||
ls_sort-spos = lo_sort->get_sort_position( ).
|
||||
ls_sort-fieldname = <fs_fields>-fieldname.
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
lo_sort = <fs_fields>-r_field->if_salv_wd_sort~get_sort_rule( ) .
|
||||
IF lo_sort IS BOUND.
|
||||
l_sort_order = lo_sort->get_sort_order( ).
|
||||
IF l_sort_order <> if_salv_wd_c_sort=>sort_order.
|
||||
CLEAR ls_sort.
|
||||
ls_sort-spos = lo_sort->get_sort_position( ).
|
||||
ls_sort-fieldname = <fs_fields>-fieldname.
|
||||
* ls_sort-GROUP
|
||||
ls_sort-subtot = lo_sort->get_group_aggregation( ).
|
||||
ls_sort-subtot = lo_sort->get_group_aggregation( ).
|
||||
* ls_sort-COMP
|
||||
* ls_sort-EXPA
|
||||
* ls_sort-SELTEXT
|
||||
* ls_sort-OBLIGATORY
|
||||
* ls_sort-LEVEL
|
||||
* ls_sort-NO_OUT
|
||||
IF l_sort_order = if_salv_wd_c_sort=>sort_order_ascending.
|
||||
ls_sort-up = abap_true.
|
||||
ELSE.
|
||||
ls_sort-down = abap_true.
|
||||
IF l_sort_order = if_salv_wd_c_sort=>sort_order_ascending.
|
||||
ls_sort-up = abap_true.
|
||||
ELSE.
|
||||
ls_sort-down = abap_true.
|
||||
ENDIF.
|
||||
INSERT ls_sort INTO TABLE wt_sort.
|
||||
ENDIF.
|
||||
INSERT ls_sort INTO TABLE wt_sort.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_columns_info.
|
||||
DATA: l_numc2 TYPE salv_wd_constant.
|
||||
|
||||
|
||||
FIELD-SYMBOLS: <fs_column> TYPE salv_wd_s_column_ref.
|
||||
|
||||
READ TABLE wt_columns ASSIGNING <fs_column> WITH KEY id = xs_fcat-fieldname .
|
||||
IF sy-subrc = 0.
|
||||
xs_fcat-col_pos = <fs_column>-r_column->get_position( ) .
|
||||
l_numc2 = <fs_column>-r_column->get_fixed_position( ).
|
||||
IF l_numc2 = '02'.
|
||||
xs_fcat-fix_column = abap_true .
|
||||
ENDIF.
|
||||
l_numc2 = <fs_column>-r_column->get_visible( ).
|
||||
IF l_numc2 = '01'.
|
||||
xs_fcat-no_out = abap_true .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLUMNS_INFO.
|
||||
DATA: l_numc2 TYPE salv_wd_constant.
|
||||
METHOD get_fields_info.
|
||||
DATA: lo_aggr TYPE REF TO cl_salv_wd_aggr_rule,
|
||||
l_aggrtype TYPE salv_wd_constant.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
|
||||
FIELD-SYMBOLS: <fs_column> TYPE salv_wd_s_column_ref.
|
||||
|
||||
READ TABLE wt_columns ASSIGNING <fs_column> WITH KEY id = xs_fcat-fieldname .
|
||||
IF sy-subrc = 0.
|
||||
xs_fcat-col_pos = <fs_column>-r_column->get_position( ) .
|
||||
l_numc2 = <fs_column>-r_column->get_fixed_position( ).
|
||||
IF l_numc2 = '02'.
|
||||
xs_fcat-fix_column = abap_true .
|
||||
ENDIF.
|
||||
l_numc2 = <fs_column>-r_column->get_visible( ).
|
||||
IF l_numc2 = '01'.
|
||||
xs_fcat-no_out = abap_true .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_FIELDS_INFO.
|
||||
DATA: lo_aggr TYPE REF TO cl_salv_wd_aggr_rule,
|
||||
l_aggrtype TYPE salv_wd_constant.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
|
||||
READ TABLE wt_fields ASSIGNING <fs_fields> WITH KEY fieldname = xs_fcat-fieldname.
|
||||
IF sy-subrc = 0.
|
||||
lo_aggr = <fs_fields>-r_field->if_salv_wd_aggr~get_aggr_rule( ) .
|
||||
IF lo_aggr IS BOUND.
|
||||
l_aggrtype = lo_aggr->get_aggregation_type( ) .
|
||||
CASE l_aggrtype.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_total.
|
||||
xs_fcat-do_sum = abap_true.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_minimum.
|
||||
xs_fcat-do_sum = 'A'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_maximum .
|
||||
xs_fcat-do_sum = 'B'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_average .
|
||||
xs_fcat-do_sum = 'C'.
|
||||
WHEN OTHERS.
|
||||
CLEAR xs_fcat-do_sum .
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
|
||||
METHOD ZIF_EXCEL_CONVERTER~GET_SUPPORTED_CLASS.
|
||||
rv_supported_class = 'CL_SALV_WD_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table.
|
||||
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table,
|
||||
lo_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_result ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
|
||||
wo_config ?= lo_result->r_model->r_model.
|
||||
|
||||
IF wo_config IS BOUND.
|
||||
wt_fields = wo_config->if_salv_wd_field_settings~get_fields( ) .
|
||||
wt_columns = wo_config->if_salv_wd_column_settings~get_columns( ) .
|
||||
READ TABLE wt_fields ASSIGNING <fs_fields> WITH KEY fieldname = xs_fcat-fieldname.
|
||||
IF sy-subrc = 0.
|
||||
lo_aggr = <fs_fields>-r_field->if_salv_wd_aggr~get_aggr_rule( ) .
|
||||
IF lo_aggr IS BOUND.
|
||||
l_aggrtype = lo_aggr->get_aggregation_type( ) .
|
||||
CASE l_aggrtype.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_total.
|
||||
xs_fcat-do_sum = abap_true.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_minimum.
|
||||
xs_fcat-do_sum = 'A'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_maximum .
|
||||
xs_fcat-do_sum = 'B'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_average .
|
||||
xs_fcat-do_sum = 'C'.
|
||||
WHEN OTHERS.
|
||||
CLEAR xs_fcat-do_sum .
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
create_wt_fcat( io_table = lo_data ).
|
||||
create_wt_sort( ).
|
||||
create_wt_filt( ).
|
||||
ENDMETHOD.
|
||||
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_WD_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table.
|
||||
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table,
|
||||
lo_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_result ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
|
||||
wo_config ?= lo_result->r_model->r_model.
|
||||
|
||||
IF wo_config IS BOUND.
|
||||
wt_fields = wo_config->if_salv_wd_field_settings~get_fields( ) .
|
||||
wt_columns = wo_config->if_salv_wd_column_settings~get_columns( ) .
|
||||
ENDIF.
|
||||
|
||||
create_wt_fcat( io_table = lo_data ).
|
||||
create_wt_sort( ).
|
||||
create_wt_filt( ).
|
||||
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
* get_color( EXPORTING io_table = eo_table
|
||||
* IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ELSE.
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ELSE.
|
||||
* We have a problem and should stop here
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,258 +1,256 @@
|
|||
class ZCL_EXCEL_CONVERTER_SALV_TABLE definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_CONVERTER_ALV
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_converter_salv_table DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG
|
||||
redefinition .
|
||||
methods ZIF_EXCEL_CONVERTER~GET_SUPPORTED_CLASS
|
||||
redefinition .
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
private section.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
methods LOAD_DATA
|
||||
importing
|
||||
!IO_SALV type ref to CL_SALV_TABLE
|
||||
!IT_TABLE type STANDARD TABLE .
|
||||
METHODS load_data
|
||||
IMPORTING
|
||||
!io_salv TYPE REF TO cl_salv_table
|
||||
!it_table TYPE STANDARD TABLE .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CONVERTER_SALV_TABLE IMPLEMENTATION.
|
||||
CLASS zcl_excel_converter_salv_table IMPLEMENTATION.
|
||||
|
||||
|
||||
method LOAD_DATA.
|
||||
DATA: lo_columns TYPE REF TO cl_salv_columns_table,
|
||||
lo_aggregations TYPE REF TO cl_salv_aggregations,
|
||||
lo_sorts TYPE REF TO cl_salv_sorts,
|
||||
lo_filters TYPE REF TO cl_salv_filters,
|
||||
lo_functional TYPE REF TO cl_salv_functional_settings,
|
||||
lo_display TYPE REF TO cl_salv_display_settings.
|
||||
METHOD load_data.
|
||||
DATA: lo_columns TYPE REF TO cl_salv_columns_table,
|
||||
lo_aggregations TYPE REF TO cl_salv_aggregations,
|
||||
lo_sorts TYPE REF TO cl_salv_sorts,
|
||||
lo_filters TYPE REF TO cl_salv_filters,
|
||||
lo_functional TYPE REF TO cl_salv_functional_settings,
|
||||
lo_display TYPE REF TO cl_salv_display_settings.
|
||||
|
||||
DATA: ls_vari TYPE disvariant,
|
||||
lo_layout TYPE REF TO cl_salv_layout.
|
||||
DATA: ls_vari TYPE disvariant,
|
||||
lo_layout TYPE REF TO cl_salv_layout.
|
||||
|
||||
DATA lt_kkblo_fieldcat TYPE kkblo_t_fieldcat.
|
||||
DATA ls_kkblo_layout TYPE kkblo_layout.
|
||||
DATA lt_kkblo_filter TYPE kkblo_t_filter.
|
||||
DATA lt_kkblo_sort TYPE kkblo_t_sortinfo.
|
||||
DATA lt_kkblo_fieldcat TYPE kkblo_t_fieldcat.
|
||||
DATA ls_kkblo_layout TYPE kkblo_layout.
|
||||
DATA lt_kkblo_filter TYPE kkblo_t_filter.
|
||||
DATA lt_kkblo_sort TYPE kkblo_t_sortinfo.
|
||||
|
||||
lo_layout = io_salv->get_layout( ) .
|
||||
lo_columns = io_salv->get_columns( ).
|
||||
lo_aggregations = io_salv->get_aggregations( ) .
|
||||
lo_sorts = io_salv->get_sorts( ) .
|
||||
lo_filters = io_salv->get_filters( ) .
|
||||
lo_display = io_salv->get_display_settings( ) .
|
||||
lo_functional = io_salv->get_functional_settings( ) .
|
||||
lo_layout = io_salv->get_layout( ) .
|
||||
lo_columns = io_salv->get_columns( ).
|
||||
lo_aggregations = io_salv->get_aggregations( ) .
|
||||
lo_sorts = io_salv->get_sorts( ) .
|
||||
lo_filters = io_salv->get_filters( ) .
|
||||
lo_display = io_salv->get_display_settings( ) .
|
||||
lo_functional = io_salv->get_functional_settings( ) .
|
||||
|
||||
REFRESH: wt_fcat,
|
||||
wt_sort,
|
||||
wt_filt.
|
||||
REFRESH: wt_fcat,
|
||||
wt_sort,
|
||||
wt_filt.
|
||||
|
||||
* First update metadata if we can.
|
||||
IF io_salv->is_offline( ) = abap_false.
|
||||
io_salv->get_metadata( ) .
|
||||
ELSE.
|
||||
IF io_salv->is_offline( ) = abap_false.
|
||||
io_salv->get_metadata( ) .
|
||||
ELSE.
|
||||
* If we are offline we need to build this.
|
||||
cl_salv_controller_metadata=>get_variant(
|
||||
EXPORTING
|
||||
r_layout = lo_layout
|
||||
CHANGING
|
||||
s_variant = ls_vari ).
|
||||
ENDIF.
|
||||
cl_salv_controller_metadata=>get_variant(
|
||||
EXPORTING
|
||||
r_layout = lo_layout
|
||||
CHANGING
|
||||
s_variant = ls_vari ).
|
||||
ENDIF.
|
||||
|
||||
*... get the column information
|
||||
wt_fcat = cl_salv_controller_metadata=>get_lvc_fieldcatalog(
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations ).
|
||||
wt_fcat = cl_salv_controller_metadata=>get_lvc_fieldcatalog(
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations ).
|
||||
|
||||
*... get the layout information
|
||||
cl_salv_controller_metadata=>get_lvc_layout(
|
||||
EXPORTING
|
||||
r_functional_settings = lo_functional
|
||||
r_display_settings = lo_display
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations
|
||||
CHANGING
|
||||
s_layout = ws_layo ).
|
||||
cl_salv_controller_metadata=>get_lvc_layout(
|
||||
EXPORTING
|
||||
r_functional_settings = lo_functional
|
||||
r_display_settings = lo_display
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations
|
||||
CHANGING
|
||||
s_layout = ws_layo ).
|
||||
|
||||
* the fieldcatalog is not complete yet!
|
||||
CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
|
||||
EXPORTING
|
||||
i_complete = 'X'
|
||||
i_refresh_buffer = space
|
||||
i_buffer_active = space
|
||||
is_layout = ws_layo
|
||||
i_test = '1'
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
* E_EDIT =
|
||||
es_layout = ws_layo
|
||||
CHANGING
|
||||
ct_fieldcat = wt_fcat.
|
||||
|
||||
IF ls_vari IS NOT INITIAL AND io_salv->is_offline( ) = abap_true.
|
||||
CALL FUNCTION 'LVC_TRANSFER_TO_KKBLO'
|
||||
CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
|
||||
EXPORTING
|
||||
it_fieldcat_lvc = wt_fcat
|
||||
is_layout_lvc = ws_layo
|
||||
i_complete = 'X'
|
||||
i_refresh_buffer = space
|
||||
i_buffer_active = space
|
||||
is_layout = ws_layo
|
||||
i_test = '1'
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
et_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
es_layout_kkblo = ls_kkblo_layout
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
it_fieldcat_lvc_missing = 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.
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'LT_VARIANT_LOAD'
|
||||
EXPORTING
|
||||
* I_TOOL = 'LT'
|
||||
i_tabname = '1'
|
||||
* I_TABNAME_SLAVE =
|
||||
i_dialog = ' '
|
||||
I_USER_SPECIFIC = 'X'
|
||||
* I_DEFAULT = 'X'
|
||||
* I_NO_REPTEXT_OPTIMIZE =
|
||||
* I_VIA_GRID =
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
* E_EXIT =
|
||||
et_fieldcat = lt_kkblo_fieldcat
|
||||
et_sort = lt_kkblo_sort
|
||||
et_filter = lt_kkblo_filter
|
||||
* E_EDIT =
|
||||
es_layout = ws_layo
|
||||
CHANGING
|
||||
cs_layout = ls_kkblo_layout
|
||||
ct_default_fieldcat = lt_kkblo_fieldcat
|
||||
cs_variant = ls_vari
|
||||
EXCEPTIONS
|
||||
wrong_input = 1
|
||||
fc_not_complete = 2
|
||||
not_found = 3
|
||||
OTHERS = 4
|
||||
.
|
||||
IF sy-subrc <> 0.
|
||||
ct_fieldcat = wt_fcat.
|
||||
|
||||
IF ls_vari IS NOT INITIAL AND io_salv->is_offline( ) = abap_true.
|
||||
CALL FUNCTION 'LVC_TRANSFER_TO_KKBLO'
|
||||
EXPORTING
|
||||
it_fieldcat_lvc = wt_fcat
|
||||
is_layout_lvc = ws_layo
|
||||
IMPORTING
|
||||
et_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
es_layout_kkblo = ls_kkblo_layout
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
it_fieldcat_lvc_missing = 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.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'LVC_TRANSFER_FROM_KKBLO'
|
||||
EXPORTING
|
||||
* I_TECH_COMPLETE =
|
||||
* I_STRUCTURE_NAME =
|
||||
it_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
it_sort_kkblo = lt_kkblo_sort
|
||||
it_filter_kkblo = lt_kkblo_filter
|
||||
* IT_SPECIAL_GROUPS_KKBLO =
|
||||
* IT_FILTERED_ENTRIES_KKBLO =
|
||||
* IT_GROUPLEVELS_KKBLO =
|
||||
* IS_SUBTOT_OPTIONS_KKBLO =
|
||||
is_layout_kkblo = ls_kkblo_layout
|
||||
* IS_REPREP_ID_KKBLO =
|
||||
* I_CALLBACK_PROGRAM_KKBLO =
|
||||
* IT_ADD_FIELDCAT =
|
||||
* IT_EXCLUDING_KKBLO =
|
||||
* IT_EXCEPT_QINFO_KKBLO =
|
||||
IMPORTING
|
||||
et_fieldcat_lvc = wt_fcat
|
||||
et_sort_lvc = wt_sort
|
||||
et_filter_lvc = wt_filt
|
||||
* ET_SPECIAL_GROUPS_LVC =
|
||||
* ET_FILTER_INDEX_LVC =
|
||||
* ET_GROUPLEVELS_LVC =
|
||||
* ES_TOTAL_OPTIONS_LVC =
|
||||
es_layout_lvc = ws_layo
|
||||
* ES_VARIANT_LVC =
|
||||
* E_VARIANT_SAVE_LVC =
|
||||
* ES_PRINT_INFO_LVC =
|
||||
* ES_REPREP_LVC =
|
||||
* E_REPREP_ACTIVE_LVC =
|
||||
* ET_EXCLUDING_LVC =
|
||||
* ET_EXCEPT_QINFO_LVC =
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
OTHERS = 2
|
||||
.
|
||||
IF sy-subrc <> 0.
|
||||
CALL FUNCTION 'LT_VARIANT_LOAD'
|
||||
EXPORTING
|
||||
* I_TOOL = 'LT'
|
||||
i_tabname = '1'
|
||||
* I_TABNAME_SLAVE =
|
||||
i_dialog = ' '
|
||||
i_user_specific = 'X'
|
||||
* I_DEFAULT = 'X'
|
||||
* I_NO_REPTEXT_OPTIMIZE =
|
||||
* I_VIA_GRID =
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
* E_EXIT =
|
||||
et_fieldcat = lt_kkblo_fieldcat
|
||||
et_sort = lt_kkblo_sort
|
||||
et_filter = lt_kkblo_filter
|
||||
CHANGING
|
||||
cs_layout = ls_kkblo_layout
|
||||
ct_default_fieldcat = lt_kkblo_fieldcat
|
||||
cs_variant = ls_vari
|
||||
EXCEPTIONS
|
||||
wrong_input = 1
|
||||
fc_not_complete = 2
|
||||
not_found = 3
|
||||
OTHERS = 4.
|
||||
IF sy-subrc <> 0.
|
||||
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
|
||||
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ELSE.
|
||||
CALL FUNCTION 'LVC_TRANSFER_FROM_KKBLO'
|
||||
EXPORTING
|
||||
* I_TECH_COMPLETE =
|
||||
* I_STRUCTURE_NAME =
|
||||
it_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
it_sort_kkblo = lt_kkblo_sort
|
||||
it_filter_kkblo = lt_kkblo_filter
|
||||
* IT_SPECIAL_GROUPS_KKBLO =
|
||||
* IT_FILTERED_ENTRIES_KKBLO =
|
||||
* IT_GROUPLEVELS_KKBLO =
|
||||
* IS_SUBTOT_OPTIONS_KKBLO =
|
||||
is_layout_kkblo = ls_kkblo_layout
|
||||
* IS_REPREP_ID_KKBLO =
|
||||
* I_CALLBACK_PROGRAM_KKBLO =
|
||||
* IT_ADD_FIELDCAT =
|
||||
* IT_EXCLUDING_KKBLO =
|
||||
* IT_EXCEPT_QINFO_KKBLO =
|
||||
IMPORTING
|
||||
et_fieldcat_lvc = wt_fcat
|
||||
et_sort_lvc = wt_sort
|
||||
et_filter_lvc = wt_filt
|
||||
* ET_SPECIAL_GROUPS_LVC =
|
||||
* ET_FILTER_INDEX_LVC =
|
||||
* ET_GROUPLEVELS_LVC =
|
||||
* ES_TOTAL_OPTIONS_LVC =
|
||||
es_layout_lvc = ws_layo
|
||||
* ES_VARIANT_LVC =
|
||||
* E_VARIANT_SAVE_LVC =
|
||||
* ES_PRINT_INFO_LVC =
|
||||
* ES_REPREP_LVC =
|
||||
* E_REPREP_ACTIVE_LVC =
|
||||
* ET_EXCLUDING_LVC =
|
||||
* ET_EXCEPT_QINFO_LVC =
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
|
||||
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
||||
ENDIF.
|
||||
|
||||
ELSE.
|
||||
* ... get the sort information
|
||||
wt_sort = cl_salv_controller_metadata=>get_lvc_sort( lo_sorts ).
|
||||
wt_sort = cl_salv_controller_metadata=>get_lvc_sort( lo_sorts ).
|
||||
|
||||
* ... get the filter information
|
||||
wt_filt = cl_salv_controller_metadata=>get_lvc_filter( lo_filters ).
|
||||
ENDIF.
|
||||
wt_filt = cl_salv_controller_metadata=>get_lvc_filter( lo_filters ).
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_TABLE'.
|
||||
ENDMETHOD.
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
|
||||
TRY.
|
||||
lo_salv ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
TRY.
|
||||
lo_salv ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
ws_option = is_option.
|
||||
|
||||
lo_salv ?= io_object.
|
||||
lo_salv ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog,
|
||||
et_colors .
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog,
|
||||
et_colors .
|
||||
|
||||
IF lo_salv IS BOUND.
|
||||
load_data( EXPORTING io_salv = lo_salv
|
||||
it_table = it_table ).
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
IF lo_salv IS BOUND.
|
||||
load_data( EXPORTING io_salv = lo_salv
|
||||
it_table = it_table ).
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
class ZCL_EXCEL_CUSTOMUI definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_customui DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_CUSTOMUI
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CUSTOMUI
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_CUSTOMUI
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CUSTOMUI IMPLEMENTATION.
|
||||
CLASS zcl_excel_customui IMPLEMENTATION.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
class ZCL_EXCEL_CUSTOMUI_BUTTON definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_customui_button DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CUSTOMUI_BUTTON
|
||||
*"* do not include other source files here!!!
|
||||
interfaces ZIF_EXCEL_CUSTOMUI_ELEMENT .
|
||||
protected section.
|
||||
INTERFACES zif_excel_customui_element .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CUSTOMUI_BUTTON
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_CUSTOMUI_BUTTON
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_CUSTOMUI_BUTTON IMPLEMENTATION.
|
||||
CLASS zcl_excel_customui_button IMPLEMENTATION.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
class ZCL_EXCEL_DATA_VALIDATION definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_data_validation DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_DATA_VALIDATION
|
||||
*"* do not include other source files here!!!
|
||||
type-pools ABAP .
|
||||
TYPE-POOLS abap .
|
||||
|
||||
data ERRORSTYLE type ZEXCEL_DATA_VAL_ERROR_STYLE .
|
||||
data OPERATOR type ZEXCEL_DATA_VAL_OPERATOR .
|
||||
data ALLOWBLANK type FLAG value 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data CELL_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .
|
||||
data CELL_COLUMN_TO type ZEXCEL_CELL_COLUMN_ALPHA .
|
||||
data CELL_ROW type ZEXCEL_CELL_ROW .
|
||||
data CELL_ROW_TO type ZEXCEL_CELL_ROW .
|
||||
constants C_TYPE_CUSTOM type ZEXCEL_DATA_VAL_TYPE value 'custom'. "#EC NOTEXT
|
||||
constants C_TYPE_LIST type ZEXCEL_DATA_VAL_TYPE value 'list'. "#EC NOTEXT
|
||||
data SHOWERRORMESSAGE type FLAG value 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data SHOWINPUTMESSAGE type FLAG value 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data TYPE type ZEXCEL_DATA_VAL_TYPE .
|
||||
data FORMULA1 type ZEXCEL_VALIDATION_FORMULA1 .
|
||||
data FORMULA2 type ZEXCEL_VALIDATION_FORMULA1 .
|
||||
constants C_TYPE_NONE type ZEXCEL_DATA_VAL_TYPE value 'none'. "#EC NOTEXT
|
||||
constants C_TYPE_DATE type ZEXCEL_DATA_VAL_TYPE value 'date'. "#EC NOTEXT
|
||||
constants C_TYPE_DECIMAL type ZEXCEL_DATA_VAL_TYPE value 'decimal'. "#EC NOTEXT
|
||||
constants C_TYPE_TEXTLENGTH type ZEXCEL_DATA_VAL_TYPE value 'textLength'. "#EC NOTEXT
|
||||
constants C_TYPE_TIME type ZEXCEL_DATA_VAL_TYPE value 'time'. "#EC NOTEXT
|
||||
constants C_TYPE_WHOLE type ZEXCEL_DATA_VAL_TYPE value 'whole'. "#EC NOTEXT
|
||||
constants C_STYLE_STOP type ZEXCEL_DATA_VAL_ERROR_STYLE value 'stop'. "#EC NOTEXT
|
||||
constants C_STYLE_WARNING type ZEXCEL_DATA_VAL_ERROR_STYLE value 'warning'. "#EC NOTEXT
|
||||
constants C_STYLE_INFORMATION type ZEXCEL_DATA_VAL_ERROR_STYLE value 'information'. "#EC NOTEXT
|
||||
constants C_OPERATOR_BETWEEN type ZEXCEL_DATA_VAL_OPERATOR value 'between'. "#EC NOTEXT
|
||||
constants C_OPERATOR_EQUAL type ZEXCEL_DATA_VAL_OPERATOR value 'equal'. "#EC NOTEXT
|
||||
constants C_OPERATOR_GREATERTHAN type ZEXCEL_DATA_VAL_OPERATOR value 'greaterThan'. "#EC NOTEXT
|
||||
constants C_OPERATOR_GREATERTHANOREQUAL type ZEXCEL_DATA_VAL_OPERATOR value 'greaterThanOrEqual'. "#EC NOTEXT
|
||||
constants C_OPERATOR_LESSTHAN type ZEXCEL_DATA_VAL_OPERATOR value 'lessThan'. "#EC NOTEXT
|
||||
constants C_OPERATOR_LESSTHANOREQUAL type ZEXCEL_DATA_VAL_OPERATOR value 'lessThanOrEqual'. "#EC NOTEXT
|
||||
constants C_OPERATOR_NOTBETWEEN type ZEXCEL_DATA_VAL_OPERATOR value 'notBetween'. "#EC NOTEXT
|
||||
constants C_OPERATOR_NOTEQUAL type ZEXCEL_DATA_VAL_OPERATOR value 'notEqual'. "#EC NOTEXT
|
||||
data SHOWDROPDOWN type FLAG .
|
||||
data ERRORTITLE type STRING .
|
||||
data ERROR type STRING .
|
||||
data PROMPTTITLE type STRING .
|
||||
data PROMPT type STRING .
|
||||
DATA errorstyle TYPE zexcel_data_val_error_style .
|
||||
DATA operator TYPE zexcel_data_val_operator .
|
||||
DATA allowblank TYPE flag VALUE 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA cell_column TYPE zexcel_cell_column_alpha .
|
||||
DATA cell_column_to TYPE zexcel_cell_column_alpha .
|
||||
DATA cell_row TYPE zexcel_cell_row .
|
||||
DATA cell_row_to TYPE zexcel_cell_row .
|
||||
CONSTANTS c_type_custom TYPE zexcel_data_val_type VALUE 'custom'. "#EC NOTEXT
|
||||
CONSTANTS c_type_list TYPE zexcel_data_val_type VALUE 'list'. "#EC NOTEXT
|
||||
DATA showerrormessage TYPE flag VALUE 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA showinputmessage TYPE flag VALUE 'X'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA type TYPE zexcel_data_val_type .
|
||||
DATA formula1 TYPE zexcel_validation_formula1 .
|
||||
DATA formula2 TYPE zexcel_validation_formula1 .
|
||||
CONSTANTS c_type_none TYPE zexcel_data_val_type VALUE 'none'. "#EC NOTEXT
|
||||
CONSTANTS c_type_date TYPE zexcel_data_val_type VALUE 'date'. "#EC NOTEXT
|
||||
CONSTANTS c_type_decimal TYPE zexcel_data_val_type VALUE 'decimal'. "#EC NOTEXT
|
||||
CONSTANTS c_type_textlength TYPE zexcel_data_val_type VALUE 'textLength'. "#EC NOTEXT
|
||||
CONSTANTS c_type_time TYPE zexcel_data_val_type VALUE 'time'. "#EC NOTEXT
|
||||
CONSTANTS c_type_whole TYPE zexcel_data_val_type VALUE 'whole'. "#EC NOTEXT
|
||||
CONSTANTS c_style_stop TYPE zexcel_data_val_error_style VALUE 'stop'. "#EC NOTEXT
|
||||
CONSTANTS c_style_warning TYPE zexcel_data_val_error_style VALUE 'warning'. "#EC NOTEXT
|
||||
CONSTANTS c_style_information TYPE zexcel_data_val_error_style VALUE 'information'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_between TYPE zexcel_data_val_operator VALUE 'between'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_equal TYPE zexcel_data_val_operator VALUE 'equal'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_greaterthan TYPE zexcel_data_val_operator VALUE 'greaterThan'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_greaterthanorequal TYPE zexcel_data_val_operator VALUE 'greaterThanOrEqual'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_lessthan TYPE zexcel_data_val_operator VALUE 'lessThan'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_lessthanorequal TYPE zexcel_data_val_operator VALUE 'lessThanOrEqual'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_notbetween TYPE zexcel_data_val_operator VALUE 'notBetween'. "#EC NOTEXT
|
||||
CONSTANTS c_operator_notequal TYPE zexcel_data_val_operator VALUE 'notEqual'. "#EC NOTEXT
|
||||
DATA showdropdown TYPE flag .
|
||||
DATA errortitle TYPE string .
|
||||
DATA error TYPE string .
|
||||
DATA prompttitle TYPE string .
|
||||
DATA prompt TYPE string .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
METHODS constructor .
|
||||
*"* protected components of class ZCL_EXCEL_DATA_VALIDATION
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_DATA_VALIDATION
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
private section.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_DATA_VALIDATION
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_DATA_VALIDATION IMPLEMENTATION.
|
||||
CLASS zcl_excel_data_validation IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
" Initialise instance variables
|
||||
formula1 = ''.
|
||||
formula2 = ''.
|
||||
type = me->c_type_none.
|
||||
errorstyle = me->c_style_stop.
|
||||
operator = ''.
|
||||
allowblank = abap_false.
|
||||
showdropdown = abap_false.
|
||||
showinputmessage = abap_true.
|
||||
showerrormessage = abap_true.
|
||||
errortitle = ''.
|
||||
error = ''.
|
||||
prompttitle = ''.
|
||||
prompt = ''.
|
||||
METHOD constructor.
|
||||
" Initialise instance variables
|
||||
formula1 = ''.
|
||||
formula2 = ''.
|
||||
type = me->c_type_none.
|
||||
errorstyle = me->c_style_stop.
|
||||
operator = ''.
|
||||
allowblank = abap_false.
|
||||
showdropdown = abap_false.
|
||||
showinputmessage = abap_true.
|
||||
showerrormessage = abap_true.
|
||||
errortitle = ''.
|
||||
error = ''.
|
||||
prompttitle = ''.
|
||||
prompt = ''.
|
||||
* inizialize dimension range
|
||||
cell_row = 1.
|
||||
cell_column = 'A'.
|
||||
endmethod.
|
||||
cell_row = 1.
|
||||
cell_column = 'A'.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,78 +1,78 @@
|
|||
class ZCL_EXCEL_DATA_VALIDATIONS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_data_validations DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_DATA_VALIDATIONS
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IP_DATA_VALIDATION type ref to ZCL_EXCEL_DATA_VALIDATION .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IP_DATA_VALIDATION type ref to ZCL_EXCEL_DATA_VALIDATION .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!ip_data_validation TYPE REF TO zcl_excel_data_validation .
|
||||
METHODS clear .
|
||||
METHODS constructor .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!ip_data_validation TYPE REF TO zcl_excel_data_validation .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
*"* protected components of class ZCL_EXCEL_DATA_VALIDATIONS
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_DATA_VALIDATIONS
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data DATA_VALIDATIONS type ref to CL_OBJECT_COLLECTION .
|
||||
DATA data_validations TYPE REF TO cl_object_collection .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_DATA_VALIDATIONS IMPLEMENTATION.
|
||||
CLASS zcl_excel_data_validations IMPLEMENTATION.
|
||||
|
||||
|
||||
method ADD.
|
||||
data_validations->add( ip_data_validation ).
|
||||
endmethod.
|
||||
METHOD add.
|
||||
data_validations->add( ip_data_validation ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CLEAR.
|
||||
data_validations->clear( ).
|
||||
endmethod.
|
||||
METHOD clear.
|
||||
data_validations->clear( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
CREATE OBJECT data_validations.
|
||||
CREATE OBJECT data_validations.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
eo_iterator ?= data_validations->get_iterator( ).
|
||||
endmethod.
|
||||
METHOD get_iterator.
|
||||
eo_iterator ?= data_validations->get_iterator( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
is_empty = data_validations->is_empty( ).
|
||||
endmethod.
|
||||
METHOD is_empty.
|
||||
is_empty = data_validations->is_empty( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method REMOVE.
|
||||
data_validations->remove( ip_data_validation ).
|
||||
endmethod.
|
||||
METHOD remove.
|
||||
data_validations->remove( ip_data_validation ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SIZE.
|
||||
ep_size = data_validations->size( ).
|
||||
endmethod.
|
||||
METHOD size.
|
||||
ep_size = data_validations->size( ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,123 +1,123 @@
|
|||
class ZCL_EXCEL_DRAWINGS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_drawings DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
*"* public components of class ZCL_EXCEL_DRAWINGS
|
||||
*"* do not include other source files here!!!
|
||||
data TYPE type ZEXCEL_DRAWING_TYPE read-only value 'IMAGE'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA type TYPE zexcel_drawing_type READ-ONLY VALUE 'IMAGE'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
|
||||
methods INCLUDE
|
||||
importing
|
||||
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IP_TYPE type ZEXCEL_DRAWING_TYPE .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
|
||||
returning
|
||||
value(EO_DRAWING) type ref to ZCL_EXCEL_DRAWING .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
methods GET_TYPE
|
||||
returning
|
||||
value(RP_TYPE) type ZEXCEL_DRAWING_TYPE .
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!ip_drawing TYPE REF TO zcl_excel_drawing .
|
||||
METHODS include
|
||||
IMPORTING
|
||||
!ip_drawing TYPE REF TO zcl_excel_drawing .
|
||||
METHODS clear .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!ip_type TYPE zexcel_drawing_type .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!ip_index TYPE zexcel_active_worksheet
|
||||
RETURNING
|
||||
VALUE(eo_drawing) TYPE REF TO zcl_excel_drawing .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!ip_drawing TYPE REF TO zcl_excel_drawing .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
METHODS get_type
|
||||
RETURNING
|
||||
VALUE(rp_type) TYPE zexcel_drawing_type .
|
||||
*"* protected components of class ZCL_EXCEL_DRAWINGS
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_DRAWINGS
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
private section.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
*"* private components of class ZCL_EXCEL_DRAWINGS
|
||||
*"* do not include other source files here!!!
|
||||
data DRAWINGS type ref to CL_OBJECT_COLLECTION .
|
||||
DATA drawings TYPE REF TO cl_object_collection .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_DRAWINGS IMPLEMENTATION.
|
||||
CLASS zcl_excel_drawings IMPLEMENTATION.
|
||||
|
||||
|
||||
method ADD.
|
||||
DATA: lv_index TYPE i.
|
||||
METHOD add.
|
||||
DATA: lv_index TYPE i.
|
||||
|
||||
drawings->add( ip_drawing ).
|
||||
lv_index = drawings->size( ).
|
||||
ip_drawing->create_media_name(
|
||||
ip_index = lv_index ).
|
||||
endmethod.
|
||||
drawings->add( ip_drawing ).
|
||||
lv_index = drawings->size( ).
|
||||
ip_drawing->create_media_name(
|
||||
ip_index = lv_index ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CLEAR.
|
||||
METHOD clear.
|
||||
|
||||
drawings->clear( ).
|
||||
endmethod.
|
||||
drawings->clear( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
CREATE OBJECT drawings.
|
||||
type = ip_type.
|
||||
CREATE OBJECT drawings.
|
||||
type = ip_type.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET.
|
||||
METHOD get.
|
||||
|
||||
DATA lv_index TYPE i.
|
||||
lv_index = ip_index.
|
||||
eo_drawing ?= drawings->get( lv_index ).
|
||||
endmethod.
|
||||
DATA lv_index TYPE i.
|
||||
lv_index = ip_index.
|
||||
eo_drawing ?= drawings->get( lv_index ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
METHOD get_iterator.
|
||||
|
||||
eo_iterator ?= drawings->get_iterator( ).
|
||||
endmethod.
|
||||
eo_iterator ?= drawings->get_iterator( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_TYPE.
|
||||
rp_type = me->type.
|
||||
endmethod.
|
||||
METHOD get_type.
|
||||
rp_type = me->type.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method INCLUDE.
|
||||
drawings->add( ip_drawing ).
|
||||
endmethod.
|
||||
METHOD include.
|
||||
drawings->add( ip_drawing ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
METHOD is_empty.
|
||||
|
||||
is_empty = drawings->is_empty( ).
|
||||
endmethod.
|
||||
is_empty = drawings->is_empty( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method REMOVE.
|
||||
METHOD remove.
|
||||
|
||||
drawings->remove( ip_drawing ).
|
||||
endmethod.
|
||||
drawings->remove( ip_drawing ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SIZE.
|
||||
METHOD size.
|
||||
|
||||
ep_size = drawings->size( ).
|
||||
endmethod.
|
||||
ep_size = drawings->size( ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,410 +1,410 @@
|
|||
class ZCL_EXCEL_GRAPH definition
|
||||
public
|
||||
create public .
|
||||
CLASS zcl_excel_graph DEFINITION
|
||||
PUBLIC
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
types:
|
||||
TYPES:
|
||||
*"* public components of class ZCL_EXCEL_GRAPH
|
||||
*"* do not include other source files here!!!
|
||||
BEGIN OF s_style,
|
||||
c14style type i,
|
||||
cstyle type i,
|
||||
end of s_style .
|
||||
types:
|
||||
BEGIN OF s_series,
|
||||
idx TYPE i,
|
||||
order TYPE i,
|
||||
invertifnegative TYPE string,
|
||||
symbol TYPE string,
|
||||
smooth TYPE string,
|
||||
lbl TYPE string,
|
||||
ref TYPE string,
|
||||
sername TYPE string,
|
||||
END OF s_series .
|
||||
types:
|
||||
t_series TYPE STANDARD TABLE OF s_series .
|
||||
types:
|
||||
BEGIN OF s_pagemargins,
|
||||
b TYPE string,
|
||||
l TYPE string,
|
||||
r TYPE string,
|
||||
t TYPE string,
|
||||
header TYPE string,
|
||||
footer TYPE string,
|
||||
END OF s_pagemargins .
|
||||
BEGIN OF s_style,
|
||||
c14style TYPE i,
|
||||
cstyle TYPE i,
|
||||
END OF s_style .
|
||||
TYPES:
|
||||
BEGIN OF s_series,
|
||||
idx TYPE i,
|
||||
order TYPE i,
|
||||
invertifnegative TYPE string,
|
||||
symbol TYPE string,
|
||||
smooth TYPE string,
|
||||
lbl TYPE string,
|
||||
ref TYPE string,
|
||||
sername TYPE string,
|
||||
END OF s_series .
|
||||
TYPES:
|
||||
t_series TYPE STANDARD TABLE OF s_series .
|
||||
TYPES:
|
||||
BEGIN OF s_pagemargins,
|
||||
b TYPE string,
|
||||
l TYPE string,
|
||||
r TYPE string,
|
||||
t TYPE string,
|
||||
header TYPE string,
|
||||
footer TYPE string,
|
||||
END OF s_pagemargins .
|
||||
|
||||
data NS_1904VAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_LANGVAL type STRING value 'it-IT'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_ROUNDEDCORNERSVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data PAGEMARGINS type S_PAGEMARGINS .
|
||||
data NS_AUTOTITLEDELETEDVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_PLOTVISONLYVAL type STRING value '1'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_DISPBLANKSASVAL type STRING value 'gap'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_SHOWDLBLSOVERMAXVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data TITLE type STRING . . . " .
|
||||
data SERIES type T_SERIES .
|
||||
data NS_C14STYLEVAL type STRING value '102'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data PRINT_LABEL type C value 'X'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
data NS_STYLEVAL type STRING value '2'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
constants:
|
||||
BEGIN OF c_style_default,
|
||||
c14style type i value 102,
|
||||
cstyle type i value 2,
|
||||
END OF c_style_default .
|
||||
constants:
|
||||
BEGIN OF c_style_1,
|
||||
c14style type i value 101,
|
||||
cstyle type i value 1,
|
||||
END OF c_style_1 .
|
||||
constants:
|
||||
BEGIN OF c_style_3,
|
||||
c14style type i value 103,
|
||||
cstyle type i value 3,
|
||||
END OF c_style_3 .
|
||||
constants:
|
||||
BEGIN OF c_style_4,
|
||||
c14style type i value 104,
|
||||
cstyle type i value 4,
|
||||
END OF c_style_4 .
|
||||
constants:
|
||||
BEGIN OF c_style_5,
|
||||
c14style type i value 105,
|
||||
cstyle type i value 5,
|
||||
END OF c_style_5 .
|
||||
constants:
|
||||
BEGIN OF c_style_6,
|
||||
c14style type i value 106,
|
||||
cstyle type i value 6,
|
||||
END OF c_style_6 .
|
||||
constants:
|
||||
BEGIN OF c_style_7,
|
||||
c14style type i value 107,
|
||||
cstyle type i value 7,
|
||||
END OF c_style_7 .
|
||||
constants:
|
||||
BEGIN OF c_style_8,
|
||||
c14style type i value 108,
|
||||
cstyle type i value 8,
|
||||
END OF c_style_8 .
|
||||
constants:
|
||||
BEGIN OF c_style_9,
|
||||
c14style type i value 109,
|
||||
cstyle type i value 9,
|
||||
END OF c_style_9 .
|
||||
constants:
|
||||
BEGIN OF c_style_10,
|
||||
c14style type i value 110,
|
||||
cstyle type i value 10,
|
||||
END OF c_style_10 .
|
||||
constants:
|
||||
BEGIN OF c_style_11,
|
||||
c14style type i value 111,
|
||||
cstyle type i value 11,
|
||||
END OF c_style_11 .
|
||||
constants:
|
||||
BEGIN OF c_style_12,
|
||||
c14style type i value 112,
|
||||
cstyle type i value 12,
|
||||
END OF c_style_12 .
|
||||
constants:
|
||||
BEGIN OF c_style_13,
|
||||
c14style type i value 113,
|
||||
cstyle type i value 13,
|
||||
END OF c_style_13 .
|
||||
constants:
|
||||
BEGIN OF c_style_14,
|
||||
c14style type i value 114,
|
||||
cstyle type i value 14,
|
||||
END OF c_style_14 .
|
||||
constants:
|
||||
BEGIN OF c_style_15,
|
||||
c14style type i value 115,
|
||||
cstyle type i value 15,
|
||||
END OF c_style_15 .
|
||||
constants:
|
||||
BEGIN OF c_style_16,
|
||||
c14style type i value 116,
|
||||
cstyle type i value 16,
|
||||
END OF c_style_16 .
|
||||
constants:
|
||||
BEGIN OF c_style_17,
|
||||
c14style type i value 117,
|
||||
cstyle type i value 17,
|
||||
END OF c_style_17 .
|
||||
constants:
|
||||
BEGIN OF c_style_18,
|
||||
c14style type i value 118,
|
||||
cstyle type i value 18,
|
||||
END OF c_style_18 .
|
||||
constants:
|
||||
BEGIN OF c_style_19,
|
||||
c14style type i value 119,
|
||||
cstyle type i value 19,
|
||||
END OF c_style_19 .
|
||||
constants:
|
||||
BEGIN OF c_style_20,
|
||||
c14style type i value 120,
|
||||
cstyle type i value 20,
|
||||
END OF c_style_20 .
|
||||
constants:
|
||||
BEGIN OF c_style_21,
|
||||
c14style type i value 121,
|
||||
cstyle type i value 21,
|
||||
END OF c_style_21 .
|
||||
constants:
|
||||
BEGIN OF c_style_22,
|
||||
c14style type i value 122,
|
||||
cstyle type i value 22,
|
||||
END OF c_style_22 .
|
||||
constants:
|
||||
BEGIN OF c_style_23,
|
||||
c14style type i value 123,
|
||||
cstyle type i value 23,
|
||||
END OF c_style_23 .
|
||||
constants:
|
||||
BEGIN OF c_style_24,
|
||||
c14style type i value 124,
|
||||
cstyle type i value 24,
|
||||
END OF c_style_24 .
|
||||
constants:
|
||||
BEGIN OF c_style_25,
|
||||
c14style type i value 125,
|
||||
cstyle type i value 25,
|
||||
END OF c_style_25 .
|
||||
constants:
|
||||
BEGIN OF c_style_26,
|
||||
c14style type i value 126,
|
||||
cstyle type i value 26,
|
||||
END OF c_style_26 .
|
||||
constants:
|
||||
BEGIN OF c_style_27,
|
||||
c14style type i value 127,
|
||||
cstyle type i value 27,
|
||||
END OF c_style_27 .
|
||||
constants:
|
||||
BEGIN OF c_style_28,
|
||||
c14style type i value 128,
|
||||
cstyle type i value 28,
|
||||
END OF c_style_28 .
|
||||
constants:
|
||||
BEGIN OF c_style_29,
|
||||
c14style type i value 129,
|
||||
cstyle type i value 29,
|
||||
END OF c_style_29 .
|
||||
constants:
|
||||
BEGIN OF c_style_30,
|
||||
c14style type i value 130,
|
||||
cstyle type i value 30,
|
||||
END OF c_style_30 .
|
||||
constants:
|
||||
BEGIN OF c_style_31,
|
||||
c14style type i value 131,
|
||||
cstyle type i value 31,
|
||||
END OF c_style_31 .
|
||||
constants:
|
||||
BEGIN OF c_style_32,
|
||||
c14style type i value 132,
|
||||
cstyle type i value 32,
|
||||
END OF c_style_32 .
|
||||
constants:
|
||||
BEGIN OF c_style_33,
|
||||
c14style type i value 133,
|
||||
cstyle type i value 33,
|
||||
END OF c_style_33 .
|
||||
constants:
|
||||
BEGIN OF c_style_34,
|
||||
c14style type i value 134,
|
||||
cstyle type i value 34,
|
||||
END OF c_style_34 .
|
||||
constants:
|
||||
BEGIN OF c_style_35,
|
||||
c14style type i value 135,
|
||||
cstyle type i value 35,
|
||||
END OF c_style_35 .
|
||||
constants:
|
||||
BEGIN OF c_style_36,
|
||||
c14style type i value 136,
|
||||
cstyle type i value 36,
|
||||
END OF c_style_36 .
|
||||
constants:
|
||||
BEGIN OF c_style_37,
|
||||
c14style type i value 137,
|
||||
cstyle type i value 37,
|
||||
END OF c_style_37 .
|
||||
constants:
|
||||
BEGIN OF c_style_38,
|
||||
c14style type i value 138,
|
||||
cstyle type i value 38,
|
||||
END OF c_style_38 .
|
||||
constants:
|
||||
BEGIN OF c_style_39,
|
||||
c14style type i value 139,
|
||||
cstyle type i value 39,
|
||||
END OF c_style_39 .
|
||||
constants:
|
||||
BEGIN OF c_style_40,
|
||||
c14style type i value 140,
|
||||
cstyle type i value 40,
|
||||
END OF c_style_40 .
|
||||
constants:
|
||||
BEGIN OF c_style_41,
|
||||
c14style type i value 141,
|
||||
cstyle type i value 41,
|
||||
END OF c_style_41 .
|
||||
constants:
|
||||
BEGIN OF c_style_42,
|
||||
c14style type i value 142,
|
||||
cstyle type i value 42,
|
||||
END OF c_style_42 .
|
||||
constants:
|
||||
BEGIN OF c_style_43,
|
||||
c14style type i value 143,
|
||||
cstyle type i value 43,
|
||||
END OF c_style_43 .
|
||||
constants:
|
||||
BEGIN OF c_style_44,
|
||||
c14style type i value 144,
|
||||
cstyle type i value 44,
|
||||
END OF c_style_44 .
|
||||
constants:
|
||||
BEGIN OF c_style_45,
|
||||
c14style type i value 145,
|
||||
cstyle type i value 45,
|
||||
END OF c_style_45 .
|
||||
constants:
|
||||
BEGIN OF c_style_46,
|
||||
c14style type i value 146,
|
||||
cstyle type i value 46,
|
||||
END OF c_style_46 .
|
||||
constants:
|
||||
BEGIN OF c_style_47,
|
||||
c14style type i value 147,
|
||||
cstyle type i value 47,
|
||||
END OF c_style_47 .
|
||||
constants:
|
||||
BEGIN OF c_style_48,
|
||||
c14style type i value 148,
|
||||
cstyle type i value 48,
|
||||
END OF c_style_48 .
|
||||
constants C_SHOW_TRUE type C value '1'. "#EC NOTEXT
|
||||
constants C_SHOW_FALSE type C value '0'. "#EC NOTEXT
|
||||
constants C_PRINT_LBL_TRUE type C value '1'. "#EC NOTEXT
|
||||
constants C_PRINT_LBL_FALSE type C value '0'. "#EC NOTEXT
|
||||
DATA ns_1904val TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_langval TYPE string VALUE 'it-IT'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_roundedcornersval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA pagemargins TYPE s_pagemargins .
|
||||
DATA ns_autotitledeletedval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_plotvisonlyval TYPE string VALUE '1'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_dispblanksasval TYPE string VALUE 'gap'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_showdlblsovermaxval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA title TYPE string . . . " .
|
||||
DATA series TYPE t_series .
|
||||
DATA ns_c14styleval TYPE string VALUE '102'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA print_label TYPE c VALUE 'X'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
DATA ns_styleval TYPE string VALUE '2'. "#EC NOTEXT . . . . . . . . . . . . . . " .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_default,
|
||||
c14style TYPE i VALUE 102,
|
||||
cstyle TYPE i VALUE 2,
|
||||
END OF c_style_default .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_1,
|
||||
c14style TYPE i VALUE 101,
|
||||
cstyle TYPE i VALUE 1,
|
||||
END OF c_style_1 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_3,
|
||||
c14style TYPE i VALUE 103,
|
||||
cstyle TYPE i VALUE 3,
|
||||
END OF c_style_3 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_4,
|
||||
c14style TYPE i VALUE 104,
|
||||
cstyle TYPE i VALUE 4,
|
||||
END OF c_style_4 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_5,
|
||||
c14style TYPE i VALUE 105,
|
||||
cstyle TYPE i VALUE 5,
|
||||
END OF c_style_5 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_6,
|
||||
c14style TYPE i VALUE 106,
|
||||
cstyle TYPE i VALUE 6,
|
||||
END OF c_style_6 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_7,
|
||||
c14style TYPE i VALUE 107,
|
||||
cstyle TYPE i VALUE 7,
|
||||
END OF c_style_7 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_8,
|
||||
c14style TYPE i VALUE 108,
|
||||
cstyle TYPE i VALUE 8,
|
||||
END OF c_style_8 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_9,
|
||||
c14style TYPE i VALUE 109,
|
||||
cstyle TYPE i VALUE 9,
|
||||
END OF c_style_9 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_10,
|
||||
c14style TYPE i VALUE 110,
|
||||
cstyle TYPE i VALUE 10,
|
||||
END OF c_style_10 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_11,
|
||||
c14style TYPE i VALUE 111,
|
||||
cstyle TYPE i VALUE 11,
|
||||
END OF c_style_11 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_12,
|
||||
c14style TYPE i VALUE 112,
|
||||
cstyle TYPE i VALUE 12,
|
||||
END OF c_style_12 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_13,
|
||||
c14style TYPE i VALUE 113,
|
||||
cstyle TYPE i VALUE 13,
|
||||
END OF c_style_13 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_14,
|
||||
c14style TYPE i VALUE 114,
|
||||
cstyle TYPE i VALUE 14,
|
||||
END OF c_style_14 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_15,
|
||||
c14style TYPE i VALUE 115,
|
||||
cstyle TYPE i VALUE 15,
|
||||
END OF c_style_15 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_16,
|
||||
c14style TYPE i VALUE 116,
|
||||
cstyle TYPE i VALUE 16,
|
||||
END OF c_style_16 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_17,
|
||||
c14style TYPE i VALUE 117,
|
||||
cstyle TYPE i VALUE 17,
|
||||
END OF c_style_17 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_18,
|
||||
c14style TYPE i VALUE 118,
|
||||
cstyle TYPE i VALUE 18,
|
||||
END OF c_style_18 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_19,
|
||||
c14style TYPE i VALUE 119,
|
||||
cstyle TYPE i VALUE 19,
|
||||
END OF c_style_19 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_20,
|
||||
c14style TYPE i VALUE 120,
|
||||
cstyle TYPE i VALUE 20,
|
||||
END OF c_style_20 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_21,
|
||||
c14style TYPE i VALUE 121,
|
||||
cstyle TYPE i VALUE 21,
|
||||
END OF c_style_21 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_22,
|
||||
c14style TYPE i VALUE 122,
|
||||
cstyle TYPE i VALUE 22,
|
||||
END OF c_style_22 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_23,
|
||||
c14style TYPE i VALUE 123,
|
||||
cstyle TYPE i VALUE 23,
|
||||
END OF c_style_23 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_24,
|
||||
c14style TYPE i VALUE 124,
|
||||
cstyle TYPE i VALUE 24,
|
||||
END OF c_style_24 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_25,
|
||||
c14style TYPE i VALUE 125,
|
||||
cstyle TYPE i VALUE 25,
|
||||
END OF c_style_25 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_26,
|
||||
c14style TYPE i VALUE 126,
|
||||
cstyle TYPE i VALUE 26,
|
||||
END OF c_style_26 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_27,
|
||||
c14style TYPE i VALUE 127,
|
||||
cstyle TYPE i VALUE 27,
|
||||
END OF c_style_27 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_28,
|
||||
c14style TYPE i VALUE 128,
|
||||
cstyle TYPE i VALUE 28,
|
||||
END OF c_style_28 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_29,
|
||||
c14style TYPE i VALUE 129,
|
||||
cstyle TYPE i VALUE 29,
|
||||
END OF c_style_29 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_30,
|
||||
c14style TYPE i VALUE 130,
|
||||
cstyle TYPE i VALUE 30,
|
||||
END OF c_style_30 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_31,
|
||||
c14style TYPE i VALUE 131,
|
||||
cstyle TYPE i VALUE 31,
|
||||
END OF c_style_31 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_32,
|
||||
c14style TYPE i VALUE 132,
|
||||
cstyle TYPE i VALUE 32,
|
||||
END OF c_style_32 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_33,
|
||||
c14style TYPE i VALUE 133,
|
||||
cstyle TYPE i VALUE 33,
|
||||
END OF c_style_33 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_34,
|
||||
c14style TYPE i VALUE 134,
|
||||
cstyle TYPE i VALUE 34,
|
||||
END OF c_style_34 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_35,
|
||||
c14style TYPE i VALUE 135,
|
||||
cstyle TYPE i VALUE 35,
|
||||
END OF c_style_35 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_36,
|
||||
c14style TYPE i VALUE 136,
|
||||
cstyle TYPE i VALUE 36,
|
||||
END OF c_style_36 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_37,
|
||||
c14style TYPE i VALUE 137,
|
||||
cstyle TYPE i VALUE 37,
|
||||
END OF c_style_37 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_38,
|
||||
c14style TYPE i VALUE 138,
|
||||
cstyle TYPE i VALUE 38,
|
||||
END OF c_style_38 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_39,
|
||||
c14style TYPE i VALUE 139,
|
||||
cstyle TYPE i VALUE 39,
|
||||
END OF c_style_39 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_40,
|
||||
c14style TYPE i VALUE 140,
|
||||
cstyle TYPE i VALUE 40,
|
||||
END OF c_style_40 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_41,
|
||||
c14style TYPE i VALUE 141,
|
||||
cstyle TYPE i VALUE 41,
|
||||
END OF c_style_41 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_42,
|
||||
c14style TYPE i VALUE 142,
|
||||
cstyle TYPE i VALUE 42,
|
||||
END OF c_style_42 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_43,
|
||||
c14style TYPE i VALUE 143,
|
||||
cstyle TYPE i VALUE 43,
|
||||
END OF c_style_43 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_44,
|
||||
c14style TYPE i VALUE 144,
|
||||
cstyle TYPE i VALUE 44,
|
||||
END OF c_style_44 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_45,
|
||||
c14style TYPE i VALUE 145,
|
||||
cstyle TYPE i VALUE 45,
|
||||
END OF c_style_45 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_46,
|
||||
c14style TYPE i VALUE 146,
|
||||
cstyle TYPE i VALUE 46,
|
||||
END OF c_style_46 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_47,
|
||||
c14style TYPE i VALUE 147,
|
||||
cstyle TYPE i VALUE 47,
|
||||
END OF c_style_47 .
|
||||
CONSTANTS:
|
||||
BEGIN OF c_style_48,
|
||||
c14style TYPE i VALUE 148,
|
||||
cstyle TYPE i VALUE 48,
|
||||
END OF c_style_48 .
|
||||
CONSTANTS c_show_true TYPE c VALUE '1'. "#EC NOTEXT
|
||||
CONSTANTS c_show_false TYPE c VALUE '0'. "#EC NOTEXT
|
||||
CONSTANTS c_print_lbl_true TYPE c VALUE '1'. "#EC NOTEXT
|
||||
CONSTANTS c_print_lbl_false TYPE c VALUE '0'. "#EC NOTEXT
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
methods CREATE_SERIE
|
||||
importing
|
||||
!IP_IDX type I optional
|
||||
!IP_ORDER type I
|
||||
!IP_INVERTIFNEGATIVE type STRING optional
|
||||
!IP_SYMBOL type STRING optional
|
||||
!IP_SMOOTH type C optional
|
||||
!IP_LBL_FROM_COL type ZEXCEL_CELL_COLUMN_ALPHA optional
|
||||
!IP_LBL_FROM_ROW type ZEXCEL_CELL_ROW optional
|
||||
!IP_LBL_TO_COL type ZEXCEL_CELL_COLUMN_ALPHA optional
|
||||
!IP_LBL_TO_ROW type ZEXCEL_CELL_ROW optional
|
||||
!IP_LBL type STRING optional
|
||||
!IP_REF_FROM_COL type ZEXCEL_CELL_COLUMN_ALPHA optional
|
||||
!IP_REF_FROM_ROW type ZEXCEL_CELL_ROW optional
|
||||
!IP_REF_TO_COL type ZEXCEL_CELL_COLUMN_ALPHA optional
|
||||
!IP_REF_TO_ROW type ZEXCEL_CELL_ROW optional
|
||||
!IP_REF type STRING optional
|
||||
!IP_SERNAME type STRING
|
||||
!IP_SHEET type ZEXCEL_SHEET_TITLE optional .
|
||||
methods SET_STYLE
|
||||
importing
|
||||
!IP_STYLE type S_STYLE .
|
||||
methods SET_PRINT_LBL
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_TITLE
|
||||
importing
|
||||
value(IP_VALUE) type STRING .
|
||||
protected section.
|
||||
METHODS constructor .
|
||||
METHODS create_serie
|
||||
IMPORTING
|
||||
!ip_idx TYPE i OPTIONAL
|
||||
!ip_order TYPE i
|
||||
!ip_invertifnegative TYPE string OPTIONAL
|
||||
!ip_symbol TYPE string OPTIONAL
|
||||
!ip_smooth TYPE c OPTIONAL
|
||||
!ip_lbl_from_col TYPE zexcel_cell_column_alpha OPTIONAL
|
||||
!ip_lbl_from_row TYPE zexcel_cell_row OPTIONAL
|
||||
!ip_lbl_to_col TYPE zexcel_cell_column_alpha OPTIONAL
|
||||
!ip_lbl_to_row TYPE zexcel_cell_row OPTIONAL
|
||||
!ip_lbl TYPE string OPTIONAL
|
||||
!ip_ref_from_col TYPE zexcel_cell_column_alpha OPTIONAL
|
||||
!ip_ref_from_row TYPE zexcel_cell_row OPTIONAL
|
||||
!ip_ref_to_col TYPE zexcel_cell_column_alpha OPTIONAL
|
||||
!ip_ref_to_row TYPE zexcel_cell_row OPTIONAL
|
||||
!ip_ref TYPE string OPTIONAL
|
||||
!ip_sername TYPE string
|
||||
!ip_sheet TYPE zexcel_sheet_title OPTIONAL .
|
||||
METHODS set_style
|
||||
IMPORTING
|
||||
!ip_style TYPE s_style .
|
||||
METHODS set_print_lbl
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_title
|
||||
IMPORTING
|
||||
VALUE(ip_value) TYPE string .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_GRAPH
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_GRAPH
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_GRAPH IMPLEMENTATION.
|
||||
CLASS zcl_excel_graph IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
"Load default values
|
||||
me->pagemargins-b = '0.75'.
|
||||
me->pagemargins-l = '0.7'.
|
||||
me->pagemargins-r = '0.7'.
|
||||
me->pagemargins-t = '0.75'.
|
||||
me->pagemargins-header = '0.3'.
|
||||
me->pagemargins-footer = '0.3'.
|
||||
endmethod.
|
||||
METHOD constructor.
|
||||
"Load default values
|
||||
me->pagemargins-b = '0.75'.
|
||||
me->pagemargins-l = '0.7'.
|
||||
me->pagemargins-r = '0.7'.
|
||||
me->pagemargins-t = '0.75'.
|
||||
me->pagemargins-header = '0.3'.
|
||||
me->pagemargins-footer = '0.3'.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CREATE_SERIE.
|
||||
DATA ls_serie TYPE s_series.
|
||||
METHOD create_serie.
|
||||
DATA ls_serie TYPE s_series.
|
||||
|
||||
DATA: lv_start_row_c TYPE char7,
|
||||
lv_stop_row_c TYPE char7.
|
||||
DATA: lv_start_row_c TYPE char7,
|
||||
lv_stop_row_c TYPE char7.
|
||||
|
||||
|
||||
IF ip_lbl IS NOT SUPPLIED.
|
||||
lv_stop_row_c = ip_lbl_to_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_lbl_from_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
ls_serie-lbl = ip_sheet.
|
||||
ls_serie-lbl = zcl_excel_common=>escape_string( ip_value = ls_serie-lbl ).
|
||||
CONCATENATE ls_serie-lbl '!$' ip_lbl_from_col '$' lv_start_row_c ':$' ip_lbl_to_col '$' lv_stop_row_c INTO ls_serie-lbl.
|
||||
CLEAR: lv_start_row_c, lv_stop_row_c.
|
||||
ELSE.
|
||||
ls_serie-lbl = ip_lbl.
|
||||
ENDIF.
|
||||
IF ip_ref IS NOT SUPPLIED.
|
||||
lv_stop_row_c = ip_ref_to_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_ref_from_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
ls_serie-ref = ip_sheet.
|
||||
ls_serie-ref = zcl_excel_common=>escape_string( ip_value = ls_serie-ref ).
|
||||
CONCATENATE ls_serie-ref '!$' ip_ref_from_col '$' lv_start_row_c ':$' ip_ref_to_col '$' lv_stop_row_c INTO ls_serie-ref.
|
||||
CLEAR: lv_start_row_c, lv_stop_row_c.
|
||||
ELSE.
|
||||
ls_serie-ref = ip_ref.
|
||||
ENDIF.
|
||||
ls_serie-idx = ip_idx.
|
||||
ls_serie-order = ip_order.
|
||||
ls_serie-invertifnegative = ip_invertifnegative.
|
||||
ls_serie-symbol = ip_symbol.
|
||||
ls_serie-smooth = ip_smooth.
|
||||
ls_serie-sername = ip_sername.
|
||||
APPEND ls_serie TO me->series.
|
||||
SORT me->series BY order ASCENDING.
|
||||
endmethod.
|
||||
IF ip_lbl IS NOT SUPPLIED.
|
||||
lv_stop_row_c = ip_lbl_to_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_lbl_from_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
ls_serie-lbl = ip_sheet.
|
||||
ls_serie-lbl = zcl_excel_common=>escape_string( ip_value = ls_serie-lbl ).
|
||||
CONCATENATE ls_serie-lbl '!$' ip_lbl_from_col '$' lv_start_row_c ':$' ip_lbl_to_col '$' lv_stop_row_c INTO ls_serie-lbl.
|
||||
CLEAR: lv_start_row_c, lv_stop_row_c.
|
||||
ELSE.
|
||||
ls_serie-lbl = ip_lbl.
|
||||
ENDIF.
|
||||
IF ip_ref IS NOT SUPPLIED.
|
||||
lv_stop_row_c = ip_ref_to_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_ref_from_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
ls_serie-ref = ip_sheet.
|
||||
ls_serie-ref = zcl_excel_common=>escape_string( ip_value = ls_serie-ref ).
|
||||
CONCATENATE ls_serie-ref '!$' ip_ref_from_col '$' lv_start_row_c ':$' ip_ref_to_col '$' lv_stop_row_c INTO ls_serie-ref.
|
||||
CLEAR: lv_start_row_c, lv_stop_row_c.
|
||||
ELSE.
|
||||
ls_serie-ref = ip_ref.
|
||||
ENDIF.
|
||||
ls_serie-idx = ip_idx.
|
||||
ls_serie-order = ip_order.
|
||||
ls_serie-invertifnegative = ip_invertifnegative.
|
||||
ls_serie-symbol = ip_symbol.
|
||||
ls_serie-smooth = ip_smooth.
|
||||
ls_serie-sername = ip_sername.
|
||||
APPEND ls_serie TO me->series.
|
||||
SORT me->series BY order ASCENDING.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_PRINT_LBL.
|
||||
me->print_label = ip_value.
|
||||
endmethod.
|
||||
METHOD set_print_lbl.
|
||||
me->print_label = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_STYLE.
|
||||
me->ns_c14styleval = ip_style-c14style.
|
||||
CONDENSE me->ns_c14styleval NO-GAPS.
|
||||
me->ns_styleval = ip_style-cstyle.
|
||||
CONDENSE me->ns_styleval NO-GAPS.
|
||||
endmethod.
|
||||
METHOD set_style.
|
||||
me->ns_c14styleval = ip_style-c14style.
|
||||
CONDENSE me->ns_c14styleval NO-GAPS.
|
||||
me->ns_styleval = ip_style-cstyle.
|
||||
CONDENSE me->ns_styleval NO-GAPS.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_TITLE.
|
||||
me->title = ip_value.
|
||||
endmethod.
|
||||
METHOD set_title.
|
||||
me->title = ip_value.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,282 +1,282 @@
|
|||
class ZCL_EXCEL_GRAPH_BARS definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_GRAPH
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_graph_bars DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_graph
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
types:
|
||||
TYPES:
|
||||
*"* public components of class ZCL_EXCEL_GRAPH_BARS
|
||||
*"* do not include other source files here!!!
|
||||
BEGIN OF s_ax,
|
||||
axid TYPE string,
|
||||
type TYPE char5,
|
||||
orientation TYPE string,
|
||||
delete TYPE string,
|
||||
axpos TYPE string,
|
||||
formatcode TYPE string,
|
||||
sourcelinked TYPE string,
|
||||
majortickmark TYPE string,
|
||||
minortickmark TYPE string,
|
||||
ticklblpos TYPE string,
|
||||
crossax TYPE string,
|
||||
crosses TYPE string,
|
||||
auto TYPE string,
|
||||
lblalgn TYPE string,
|
||||
lbloffset TYPE string,
|
||||
nomultilvllbl TYPE string,
|
||||
crossbetween TYPE string,
|
||||
END OF s_ax .
|
||||
types:
|
||||
t_ax TYPE STANDARD TABLE OF s_ax .
|
||||
BEGIN OF s_ax,
|
||||
axid TYPE string,
|
||||
type TYPE char5,
|
||||
orientation TYPE string,
|
||||
delete TYPE string,
|
||||
axpos TYPE string,
|
||||
formatcode TYPE string,
|
||||
sourcelinked TYPE string,
|
||||
majortickmark TYPE string,
|
||||
minortickmark TYPE string,
|
||||
ticklblpos TYPE string,
|
||||
crossax TYPE string,
|
||||
crosses TYPE string,
|
||||
auto TYPE string,
|
||||
lblalgn TYPE string,
|
||||
lbloffset TYPE string,
|
||||
nomultilvllbl TYPE string,
|
||||
crossbetween TYPE string,
|
||||
END OF s_ax .
|
||||
TYPES:
|
||||
t_ax TYPE STANDARD TABLE OF s_ax .
|
||||
|
||||
data NS_BARDIRVAL type STRING value 'col'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
constants C_GROUPINGVAL_CLUSTERED type STRING value 'clustered'. "#EC NOTEXT
|
||||
constants C_GROUPINGVAL_STACKED type STRING value 'stacked'. "#EC NOTEXT
|
||||
data NS_GROUPINGVAL type STRING value C_GROUPINGVAL_CLUSTERED. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_VARYCOLORSVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWLEGENDKEYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWVALVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWCATNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWSERNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWPERCENTVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_SHOWBUBBLESIZEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_GAPWIDTHVAL type STRING value '150'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data AXES type T_AX .
|
||||
constants:
|
||||
C_VALAX type c length 5 value 'VALAX'. "#EC NOTEXT
|
||||
constants:
|
||||
C_CATAX type c length 5 value 'CATAX'. "#EC NOTEXT
|
||||
data NS_LEGENDPOSVAL type STRING value 'r'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
data NS_OVERLAYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
constants C_INVERTIFNEGATIVE_YES type STRING value '1'. "#EC NOTEXT
|
||||
constants C_INVERTIFNEGATIVE_NO type STRING value '0'. "#EC NOTEXT
|
||||
DATA ns_bardirval TYPE string VALUE 'col'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
CONSTANTS c_groupingval_clustered TYPE string VALUE 'clustered'. "#EC NOTEXT
|
||||
CONSTANTS c_groupingval_stacked TYPE string VALUE 'stacked'. "#EC NOTEXT
|
||||
DATA ns_groupingval TYPE string VALUE c_groupingval_clustered. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_varycolorsval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showlegendkeyval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showvalval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showcatnameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showsernameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showpercentval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_showbubblesizeval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_gapwidthval TYPE string VALUE '150'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA axes TYPE t_ax .
|
||||
CONSTANTS:
|
||||
c_valax TYPE c LENGTH 5 VALUE 'VALAX'. "#EC NOTEXT
|
||||
CONSTANTS:
|
||||
c_catax TYPE c LENGTH 5 VALUE 'CATAX'. "#EC NOTEXT
|
||||
DATA ns_legendposval TYPE string VALUE 'r'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
DATA ns_overlayval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . . " .
|
||||
CONSTANTS c_invertifnegative_yes TYPE string VALUE '1'. "#EC NOTEXT
|
||||
CONSTANTS c_invertifnegative_no TYPE string VALUE '0'. "#EC NOTEXT
|
||||
|
||||
methods CREATE_AX
|
||||
importing
|
||||
!IP_AXID type STRING optional
|
||||
!IP_TYPE type CHAR5
|
||||
!IP_ORIENTATION type STRING optional
|
||||
!IP_DELETE type STRING optional
|
||||
!IP_AXPOS type STRING optional
|
||||
!IP_FORMATCODE type STRING optional
|
||||
!IP_SOURCELINKED type STRING optional
|
||||
!IP_MAJORTICKMARK type STRING optional
|
||||
!IP_MINORTICKMARK type STRING optional
|
||||
!IP_TICKLBLPOS type STRING optional
|
||||
!IP_CROSSAX type STRING optional
|
||||
!IP_CROSSES type STRING optional
|
||||
!IP_AUTO type STRING optional
|
||||
!IP_LBLALGN type STRING optional
|
||||
!IP_LBLOFFSET type STRING optional
|
||||
!IP_NOMULTILVLLBL type STRING optional
|
||||
!IP_CROSSBETWEEN type STRING optional .
|
||||
methods SET_SHOW_LEGEND_KEY
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_VALUES
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_CAT_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_SER_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_PERCENT
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_VARYCOLOR
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
protected section.
|
||||
METHODS create_ax
|
||||
IMPORTING
|
||||
!ip_axid TYPE string OPTIONAL
|
||||
!ip_type TYPE char5
|
||||
!ip_orientation TYPE string OPTIONAL
|
||||
!ip_delete TYPE string OPTIONAL
|
||||
!ip_axpos TYPE string OPTIONAL
|
||||
!ip_formatcode TYPE string OPTIONAL
|
||||
!ip_sourcelinked TYPE string OPTIONAL
|
||||
!ip_majortickmark TYPE string OPTIONAL
|
||||
!ip_minortickmark TYPE string OPTIONAL
|
||||
!ip_ticklblpos TYPE string OPTIONAL
|
||||
!ip_crossax TYPE string OPTIONAL
|
||||
!ip_crosses TYPE string OPTIONAL
|
||||
!ip_auto TYPE string OPTIONAL
|
||||
!ip_lblalgn TYPE string OPTIONAL
|
||||
!ip_lbloffset TYPE string OPTIONAL
|
||||
!ip_nomultilvllbl TYPE string OPTIONAL
|
||||
!ip_crossbetween TYPE string OPTIONAL .
|
||||
METHODS set_show_legend_key
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_values
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_cat_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_ser_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_percent
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_varycolor
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_GRAPH_BARS
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_GRAPH_BARS
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_GRAPH_BARS IMPLEMENTATION.
|
||||
CLASS zcl_excel_graph_bars IMPLEMENTATION.
|
||||
|
||||
|
||||
method CREATE_AX.
|
||||
DATA ls_ax TYPE s_ax.
|
||||
ls_ax-type = ip_type.
|
||||
METHOD create_ax.
|
||||
DATA ls_ax TYPE s_ax.
|
||||
ls_ax-type = ip_type.
|
||||
|
||||
if ip_type = c_catax.
|
||||
if ip_axid is SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
else.
|
||||
ls_ax-axid = '1'.
|
||||
endif.
|
||||
if ip_orientation is SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
else.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
endif.
|
||||
if ip_delete is SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
else.
|
||||
ls_ax-delete = '0'.
|
||||
endif.
|
||||
if ip_axpos is SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
else.
|
||||
ls_ax-axpos = 'b'.
|
||||
endif.
|
||||
if ip_formatcode is SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
else.
|
||||
ls_ax-formatcode = 'General'.
|
||||
endif.
|
||||
if ip_sourcelinked is SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
else.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
endif.
|
||||
if ip_majorTickMark is SUPPLIED.
|
||||
ls_ax-majorTickMark = ip_majorTickMark.
|
||||
else.
|
||||
ls_ax-majorTickMark = 'out'.
|
||||
endif.
|
||||
if ip_minorTickMark is SUPPLIED.
|
||||
ls_ax-minorTickMark = ip_minorTickMark.
|
||||
else.
|
||||
ls_ax-minorTickMark = 'none'.
|
||||
endif.
|
||||
if ip_ticklblpos is SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
else.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
endif.
|
||||
if ip_crossax is SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
else.
|
||||
ls_ax-crossax = '2'.
|
||||
endif.
|
||||
if ip_crosses is SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
else.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
endif.
|
||||
if ip_auto is SUPPLIED.
|
||||
ls_ax-auto = ip_auto.
|
||||
else.
|
||||
ls_ax-auto = '1'.
|
||||
endif.
|
||||
if ip_lblAlgn is SUPPLIED.
|
||||
ls_ax-lblAlgn = ip_lblAlgn.
|
||||
else.
|
||||
ls_ax-lblAlgn = 'ctr'.
|
||||
endif.
|
||||
if ip_lblOffset is SUPPLIED.
|
||||
ls_ax-lblOffset = ip_lblOffset.
|
||||
else.
|
||||
ls_ax-lblOffset = '100'.
|
||||
endif.
|
||||
if ip_noMultiLvlLbl is SUPPLIED.
|
||||
ls_ax-noMultiLvlLbl = ip_noMultiLvlLbl.
|
||||
else.
|
||||
ls_ax-noMultiLvlLbl = '0'.
|
||||
endif.
|
||||
elseif ip_type = c_valax.
|
||||
if ip_axid is SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
else.
|
||||
ls_ax-axid = '2'.
|
||||
endif.
|
||||
if ip_orientation is SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
else.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
endif.
|
||||
if ip_delete is SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
else.
|
||||
ls_ax-delete = '0'.
|
||||
endif.
|
||||
if ip_axpos is SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
else.
|
||||
ls_ax-axpos = 'l'.
|
||||
endif.
|
||||
if ip_formatcode is SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
else.
|
||||
ls_ax-formatcode = 'General'.
|
||||
endif.
|
||||
if ip_sourcelinked is SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
else.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
endif.
|
||||
if ip_majorTickMark is SUPPLIED.
|
||||
ls_ax-majorTickMark = ip_majorTickMark.
|
||||
else.
|
||||
ls_ax-majorTickMark = 'out'.
|
||||
endif.
|
||||
if ip_minorTickMark is SUPPLIED.
|
||||
ls_ax-minorTickMark = ip_minorTickMark.
|
||||
else.
|
||||
ls_ax-minorTickMark = 'none'.
|
||||
endif.
|
||||
if ip_ticklblpos is SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
else.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
endif.
|
||||
if ip_crossax is SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
else.
|
||||
ls_ax-crossax = '1'.
|
||||
endif.
|
||||
if ip_crosses is SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
else.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
endif.
|
||||
if ip_crossBetween is SUPPLIED.
|
||||
ls_ax-crossBetween = ip_crossBetween.
|
||||
else.
|
||||
ls_ax-crossBetween = 'between'.
|
||||
endif.
|
||||
endif.
|
||||
IF ip_type = c_catax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '1'.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'b'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '2'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_auto IS SUPPLIED.
|
||||
ls_ax-auto = ip_auto.
|
||||
ELSE.
|
||||
ls_ax-auto = '1'.
|
||||
ENDIF.
|
||||
IF ip_lblalgn IS SUPPLIED.
|
||||
ls_ax-lblalgn = ip_lblalgn.
|
||||
ELSE.
|
||||
ls_ax-lblalgn = 'ctr'.
|
||||
ENDIF.
|
||||
IF ip_lbloffset IS SUPPLIED.
|
||||
ls_ax-lbloffset = ip_lbloffset.
|
||||
ELSE.
|
||||
ls_ax-lbloffset = '100'.
|
||||
ENDIF.
|
||||
IF ip_nomultilvllbl IS SUPPLIED.
|
||||
ls_ax-nomultilvllbl = ip_nomultilvllbl.
|
||||
ELSE.
|
||||
ls_ax-nomultilvllbl = '0'.
|
||||
ENDIF.
|
||||
ELSEIF ip_type = c_valax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '2'.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'l'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '1'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_crossbetween IS SUPPLIED.
|
||||
ls_ax-crossbetween = ip_crossbetween.
|
||||
ELSE.
|
||||
ls_ax-crossbetween = 'between'.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
APPEND ls_ax TO me->axes.
|
||||
sort me->axes by axid ascending.
|
||||
endmethod.
|
||||
APPEND ls_ax TO me->axes.
|
||||
SORT me->axes BY axid ASCENDING.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_CAT_NAME.
|
||||
METHOD set_show_cat_name.
|
||||
ns_showcatnameval = ip_value.
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_LEGEND_KEY.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_legend_key.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_PERCENT.
|
||||
ns_showpercentval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_percent.
|
||||
ns_showpercentval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_SER_NAME.
|
||||
ns_showsernameval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_ser_name.
|
||||
ns_showsernameval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_VALUES.
|
||||
ns_showvalval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_values.
|
||||
ns_showvalval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_VARYCOLOR.
|
||||
ns_varycolorsval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_varycolor.
|
||||
ns_varycolorsval = ip_value.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,280 +1,280 @@
|
|||
class ZCL_EXCEL_GRAPH_LINE definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_GRAPH
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_graph_line DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_graph
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
types:
|
||||
TYPES:
|
||||
*"* public components of class ZCL_EXCEL_GRAPH_LINE
|
||||
*"* do not include other source files here!!!
|
||||
BEGIN OF s_ax,
|
||||
axid TYPE string,
|
||||
type TYPE char5,
|
||||
orientation TYPE string,
|
||||
delete TYPE string,
|
||||
axpos TYPE string,
|
||||
formatcode TYPE string,
|
||||
sourcelinked TYPE string,
|
||||
majortickmark TYPE string,
|
||||
minortickmark TYPE string,
|
||||
ticklblpos TYPE string,
|
||||
crossax TYPE string,
|
||||
crosses TYPE string,
|
||||
auto TYPE string,
|
||||
lblalgn TYPE string,
|
||||
lbloffset TYPE string,
|
||||
nomultilvllbl TYPE string,
|
||||
crossbetween TYPE string,
|
||||
END OF s_ax .
|
||||
types:
|
||||
t_ax TYPE STANDARD TABLE OF s_ax .
|
||||
BEGIN OF s_ax,
|
||||
axid TYPE string,
|
||||
type TYPE char5,
|
||||
orientation TYPE string,
|
||||
delete TYPE string,
|
||||
axpos TYPE string,
|
||||
formatcode TYPE string,
|
||||
sourcelinked TYPE string,
|
||||
majortickmark TYPE string,
|
||||
minortickmark TYPE string,
|
||||
ticklblpos TYPE string,
|
||||
crossax TYPE string,
|
||||
crosses TYPE string,
|
||||
auto TYPE string,
|
||||
lblalgn TYPE string,
|
||||
lbloffset TYPE string,
|
||||
nomultilvllbl TYPE string,
|
||||
crossbetween TYPE string,
|
||||
END OF s_ax .
|
||||
TYPES:
|
||||
t_ax TYPE STANDARD TABLE OF s_ax .
|
||||
|
||||
data NS_GROUPINGVAL type STRING value 'standard'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_VARYCOLORSVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWLEGENDKEYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWVALVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWCATNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWSERNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWPERCENTVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWBUBBLESIZEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_MARKERVAL type STRING value '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SMOOTHVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data AXES type T_AX .
|
||||
constants:
|
||||
C_VALAX type c length 5 value 'VALAX'. "#EC NOTEXT
|
||||
constants:
|
||||
C_CATAX type c length 5 value 'CATAX'. "#EC NOTEXT
|
||||
data NS_LEGENDPOSVAL type STRING value 'r'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_OVERLAYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
constants C_SYMBOL_AUTO type STRING value 'auto'. "#EC NOTEXT
|
||||
constants C_SYMBOL_NONE type STRING value 'none'. "#EC NOTEXT
|
||||
DATA ns_groupingval TYPE string VALUE 'standard'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_varycolorsval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showlegendkeyval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showvalval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showcatnameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showsernameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showpercentval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showbubblesizeval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_markerval TYPE string VALUE '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_smoothval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA axes TYPE t_ax .
|
||||
CONSTANTS:
|
||||
c_valax TYPE c LENGTH 5 VALUE 'VALAX'. "#EC NOTEXT
|
||||
CONSTANTS:
|
||||
c_catax TYPE c LENGTH 5 VALUE 'CATAX'. "#EC NOTEXT
|
||||
DATA ns_legendposval TYPE string VALUE 'r'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_overlayval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
CONSTANTS c_symbol_auto TYPE string VALUE 'auto'. "#EC NOTEXT
|
||||
CONSTANTS c_symbol_none TYPE string VALUE 'none'. "#EC NOTEXT
|
||||
|
||||
methods CREATE_AX
|
||||
importing
|
||||
!IP_AXID type STRING optional
|
||||
!IP_TYPE type CHAR5
|
||||
!IP_ORIENTATION type STRING optional
|
||||
!IP_DELETE type STRING optional
|
||||
!IP_AXPOS type STRING optional
|
||||
!IP_FORMATCODE type STRING optional
|
||||
!IP_SOURCELINKED type STRING optional
|
||||
!IP_MAJORTICKMARK type STRING optional
|
||||
!IP_MINORTICKMARK type STRING optional
|
||||
!IP_TICKLBLPOS type STRING optional
|
||||
!IP_CROSSAX type STRING optional
|
||||
!IP_CROSSES type STRING optional
|
||||
!IP_AUTO type STRING optional
|
||||
!IP_LBLALGN type STRING optional
|
||||
!IP_LBLOFFSET type STRING optional
|
||||
!IP_NOMULTILVLLBL type STRING optional
|
||||
!IP_CROSSBETWEEN type STRING optional .
|
||||
methods SET_SHOW_LEGEND_KEY
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_VALUES
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_CAT_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_SER_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_PERCENT
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_VARYCOLOR
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
protected section.
|
||||
METHODS create_ax
|
||||
IMPORTING
|
||||
!ip_axid TYPE string OPTIONAL
|
||||
!ip_type TYPE char5
|
||||
!ip_orientation TYPE string OPTIONAL
|
||||
!ip_delete TYPE string OPTIONAL
|
||||
!ip_axpos TYPE string OPTIONAL
|
||||
!ip_formatcode TYPE string OPTIONAL
|
||||
!ip_sourcelinked TYPE string OPTIONAL
|
||||
!ip_majortickmark TYPE string OPTIONAL
|
||||
!ip_minortickmark TYPE string OPTIONAL
|
||||
!ip_ticklblpos TYPE string OPTIONAL
|
||||
!ip_crossax TYPE string OPTIONAL
|
||||
!ip_crosses TYPE string OPTIONAL
|
||||
!ip_auto TYPE string OPTIONAL
|
||||
!ip_lblalgn TYPE string OPTIONAL
|
||||
!ip_lbloffset TYPE string OPTIONAL
|
||||
!ip_nomultilvllbl TYPE string OPTIONAL
|
||||
!ip_crossbetween TYPE string OPTIONAL .
|
||||
METHODS set_show_legend_key
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_values
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_cat_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_ser_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_percent
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_varycolor
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_GRAPH_LINE
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_GRAPH_LINE
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_GRAPH_LINE IMPLEMENTATION.
|
||||
CLASS zcl_excel_graph_line IMPLEMENTATION.
|
||||
|
||||
|
||||
method CREATE_AX.
|
||||
DATA ls_ax TYPE s_ax.
|
||||
ls_ax-type = ip_type.
|
||||
METHOD create_ax.
|
||||
DATA ls_ax TYPE s_ax.
|
||||
ls_ax-type = ip_type.
|
||||
|
||||
IF ip_type = c_catax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '1'.
|
||||
IF ip_type = c_catax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '1'.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'b'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '2'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_auto IS SUPPLIED.
|
||||
ls_ax-auto = ip_auto.
|
||||
ELSE.
|
||||
ls_ax-auto = '1'.
|
||||
ENDIF.
|
||||
IF ip_lblalgn IS SUPPLIED.
|
||||
ls_ax-lblalgn = ip_lblalgn.
|
||||
ELSE.
|
||||
ls_ax-lblalgn = 'ctr'.
|
||||
ENDIF.
|
||||
IF ip_lbloffset IS SUPPLIED.
|
||||
ls_ax-lbloffset = ip_lbloffset.
|
||||
ELSE.
|
||||
ls_ax-lbloffset = '100'.
|
||||
ENDIF.
|
||||
IF ip_nomultilvllbl IS SUPPLIED.
|
||||
ls_ax-nomultilvllbl = ip_nomultilvllbl.
|
||||
ELSE.
|
||||
ls_ax-nomultilvllbl = '0'.
|
||||
ENDIF.
|
||||
ELSEIF ip_type = c_valax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '2'.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'l'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '1'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_crossbetween IS SUPPLIED.
|
||||
ls_ax-crossbetween = ip_crossbetween.
|
||||
ELSE.
|
||||
ls_ax-crossbetween = 'between'.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'b'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '2'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_auto IS SUPPLIED.
|
||||
ls_ax-auto = ip_auto.
|
||||
ELSE.
|
||||
ls_ax-auto = '1'.
|
||||
ENDIF.
|
||||
IF ip_lblalgn IS SUPPLIED.
|
||||
ls_ax-lblalgn = ip_lblalgn.
|
||||
ELSE.
|
||||
ls_ax-lblalgn = 'ctr'.
|
||||
ENDIF.
|
||||
IF ip_lbloffset IS SUPPLIED.
|
||||
ls_ax-lbloffset = ip_lbloffset.
|
||||
ELSE.
|
||||
ls_ax-lbloffset = '100'.
|
||||
ENDIF.
|
||||
IF ip_nomultilvllbl IS SUPPLIED.
|
||||
ls_ax-nomultilvllbl = ip_nomultilvllbl.
|
||||
ELSE.
|
||||
ls_ax-nomultilvllbl = '0'.
|
||||
ENDIF.
|
||||
ELSEIF ip_type = c_valax.
|
||||
IF ip_axid IS SUPPLIED.
|
||||
ls_ax-axid = ip_axid.
|
||||
ELSE.
|
||||
ls_ax-axid = '2'.
|
||||
ENDIF.
|
||||
IF ip_orientation IS SUPPLIED.
|
||||
ls_ax-orientation = ip_orientation.
|
||||
ELSE.
|
||||
ls_ax-orientation = 'minMax'.
|
||||
ENDIF.
|
||||
IF ip_delete IS SUPPLIED.
|
||||
ls_ax-delete = ip_delete.
|
||||
ELSE.
|
||||
ls_ax-delete = '0'.
|
||||
ENDIF.
|
||||
IF ip_axpos IS SUPPLIED.
|
||||
ls_ax-axpos = ip_axpos.
|
||||
ELSE.
|
||||
ls_ax-axpos = 'l'.
|
||||
ENDIF.
|
||||
IF ip_formatcode IS SUPPLIED.
|
||||
ls_ax-formatcode = ip_formatcode.
|
||||
ELSE.
|
||||
ls_ax-formatcode = 'General'.
|
||||
ENDIF.
|
||||
IF ip_sourcelinked IS SUPPLIED.
|
||||
ls_ax-sourcelinked = ip_sourcelinked.
|
||||
ELSE.
|
||||
ls_ax-sourcelinked = '1'.
|
||||
ENDIF.
|
||||
IF ip_majortickmark IS SUPPLIED.
|
||||
ls_ax-majortickmark = ip_majortickmark.
|
||||
ELSE.
|
||||
ls_ax-majortickmark = 'out'.
|
||||
ENDIF.
|
||||
IF ip_minortickmark IS SUPPLIED.
|
||||
ls_ax-minortickmark = ip_minortickmark.
|
||||
ELSE.
|
||||
ls_ax-minortickmark = 'none'.
|
||||
ENDIF.
|
||||
IF ip_ticklblpos IS SUPPLIED.
|
||||
ls_ax-ticklblpos = ip_ticklblpos.
|
||||
ELSE.
|
||||
ls_ax-ticklblpos = 'nextTo'.
|
||||
ENDIF.
|
||||
IF ip_crossax IS SUPPLIED.
|
||||
ls_ax-crossax = ip_crossax.
|
||||
ELSE.
|
||||
ls_ax-crossax = '1'.
|
||||
ENDIF.
|
||||
IF ip_crosses IS SUPPLIED.
|
||||
ls_ax-crosses = ip_crosses.
|
||||
ELSE.
|
||||
ls_ax-crosses = 'autoZero'.
|
||||
ENDIF.
|
||||
IF ip_crossbetween IS SUPPLIED.
|
||||
ls_ax-crossbetween = ip_crossbetween.
|
||||
ELSE.
|
||||
ls_ax-crossbetween = 'between'.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
APPEND ls_ax TO me->axes.
|
||||
SORT me->axes BY axid ASCENDING.
|
||||
endmethod.
|
||||
APPEND ls_ax TO me->axes.
|
||||
SORT me->axes BY axid ASCENDING.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_CAT_NAME.
|
||||
METHOD set_show_cat_name.
|
||||
ns_showcatnameval = ip_value.
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_LEGEND_KEY.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_legend_key.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_PERCENT.
|
||||
ns_showpercentval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_percent.
|
||||
ns_showpercentval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_SER_NAME.
|
||||
ns_showsernameval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_ser_name.
|
||||
ns_showsernameval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_VALUES.
|
||||
ns_showvalval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_values.
|
||||
ns_showvalval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_VARYCOLOR.
|
||||
ns_varycolorsval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_varycolor.
|
||||
ns_varycolorsval = ip_value.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,92 +1,92 @@
|
|||
class ZCL_EXCEL_GRAPH_PIE definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_GRAPH
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_graph_pie DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_graph
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
*"* public components of class ZCL_EXCEL_GRAPH_PIE
|
||||
*"* do not include other source files here!!!
|
||||
data NS_LEGENDPOSVAL type STRING value 'r'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_OVERLAYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_PPRRTL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_ENDPARARPRLANG type STRING value 'it-IT'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_VARYCOLORSVAL type STRING value '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_FIRSTSLICEANGVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWLEGENDKEYVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWVALVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWCATNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWSERNAMEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWPERCENTVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWBUBBLESIZEVAL type STRING value '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data NS_SHOWLEADERLINESVAL type STRING value '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_legendposval TYPE string VALUE 'r'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_overlayval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_pprrtl TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_endpararprlang TYPE string VALUE 'it-IT'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_varycolorsval TYPE string VALUE '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_firstsliceangval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showlegendkeyval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showvalval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showcatnameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showsernameval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showpercentval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showbubblesizeval TYPE string VALUE '0'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA ns_showleaderlinesval TYPE string VALUE '1'. "#EC NOTEXT . . . . . . . . . . " .
|
||||
|
||||
methods SET_SHOW_LEGEND_KEY
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_VALUES
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_CAT_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_SER_NAME
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_PERCENT
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_SHOW_LEADER_LINES
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
methods SET_VARYCOLOR
|
||||
importing
|
||||
!IP_VALUE type C .
|
||||
protected section.
|
||||
METHODS set_show_legend_key
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_values
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_cat_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_ser_name
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_percent
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_show_leader_lines
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
METHODS set_varycolor
|
||||
IMPORTING
|
||||
!ip_value TYPE c .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_GRAPH_PIE
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_GRAPH_PIE
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_GRAPH_PIE IMPLEMENTATION.
|
||||
CLASS zcl_excel_graph_pie IMPLEMENTATION.
|
||||
|
||||
|
||||
method SET_SHOW_CAT_NAME.
|
||||
ns_showcatnameval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_cat_name.
|
||||
ns_showcatnameval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_LEADER_LINES.
|
||||
ns_showleaderlinesval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_leader_lines.
|
||||
ns_showleaderlinesval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_LEGEND_KEY.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_legend_key.
|
||||
ns_showlegendkeyval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_PERCENT.
|
||||
ns_showpercentval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_percent.
|
||||
ns_showpercentval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_SER_NAME.
|
||||
ns_showsernameval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_ser_name.
|
||||
ns_showsernameval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_SHOW_VALUES.
|
||||
ns_showvalval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_show_values.
|
||||
ns_showvalval = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_VARYCOLOR.
|
||||
ns_varycolorsval = ip_value.
|
||||
endmethod.
|
||||
METHOD set_varycolor.
|
||||
ns_varycolorsval = ip_value.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,108 +1,108 @@
|
|||
class ZCL_EXCEL_HYPERLINK definition
|
||||
public
|
||||
final
|
||||
create private .
|
||||
CLASS zcl_excel_hyperlink DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PRIVATE .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_HYPERLINK
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
class-methods CREATE_EXTERNAL_LINK
|
||||
importing
|
||||
!IV_URL type STRING
|
||||
returning
|
||||
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .
|
||||
class-methods CREATE_INTERNAL_LINK
|
||||
importing
|
||||
!IV_LOCATION type STRING
|
||||
returning
|
||||
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .
|
||||
methods IS_INTERNAL
|
||||
returning
|
||||
value(EV_RET) type ABAP_BOOL .
|
||||
methods SET_CELL_REFERENCE
|
||||
importing
|
||||
!IP_COLUMN type SIMPLE
|
||||
!IP_ROW type ZEXCEL_CELL_ROW
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_REF
|
||||
returning
|
||||
value(EV_REF) type STRING .
|
||||
methods GET_URL
|
||||
returning
|
||||
value(EV_URL) type STRING .
|
||||
CLASS-METHODS create_external_link
|
||||
IMPORTING
|
||||
!iv_url TYPE string
|
||||
RETURNING
|
||||
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
||||
CLASS-METHODS create_internal_link
|
||||
IMPORTING
|
||||
!iv_location TYPE string
|
||||
RETURNING
|
||||
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
||||
METHODS is_internal
|
||||
RETURNING
|
||||
VALUE(ev_ret) TYPE abap_bool .
|
||||
METHODS set_cell_reference
|
||||
IMPORTING
|
||||
!ip_column TYPE simple
|
||||
!ip_row TYPE zexcel_cell_row
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS get_ref
|
||||
RETURNING
|
||||
VALUE(ev_ref) TYPE string .
|
||||
METHODS get_url
|
||||
RETURNING
|
||||
VALUE(ev_url) TYPE string .
|
||||
*"* protected components of class ZCL_EXCEL_HYPERLINK
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_HYPERLINK
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data LOCATION type STRING .
|
||||
data CELL_REFERENCE type STRING .
|
||||
data INTERNAL type ABAP_BOOL .
|
||||
data COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .
|
||||
data ROW type ZEXCEL_CELL_ROW .
|
||||
DATA location TYPE string .
|
||||
DATA cell_reference TYPE string .
|
||||
DATA internal TYPE abap_bool .
|
||||
DATA column TYPE zexcel_cell_column_alpha .
|
||||
DATA row TYPE zexcel_cell_row .
|
||||
|
||||
class-methods CREATE
|
||||
importing
|
||||
!IV_URL type STRING
|
||||
!IV_INTERNAL type ABAP_BOOL
|
||||
returning
|
||||
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .
|
||||
CLASS-METHODS create
|
||||
IMPORTING
|
||||
!iv_url TYPE string
|
||||
!iv_internal TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_HYPERLINK IMPLEMENTATION.
|
||||
CLASS zcl_excel_hyperlink IMPLEMENTATION.
|
||||
|
||||
|
||||
method CREATE.
|
||||
data: lo_hyperlink type REF TO zcl_excel_hyperlink.
|
||||
METHOD create.
|
||||
DATA: lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
create OBJECT lo_hyperlink.
|
||||
CREATE OBJECT lo_hyperlink.
|
||||
|
||||
lo_hyperlink->location = iv_url.
|
||||
lo_hyperlink->internal = iv_internal.
|
||||
lo_hyperlink->location = iv_url.
|
||||
lo_hyperlink->internal = iv_internal.
|
||||
|
||||
ov_link = lo_hyperlink.
|
||||
endmethod.
|
||||
ov_link = lo_hyperlink.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CREATE_EXTERNAL_LINK.
|
||||
METHOD create_external_link.
|
||||
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_url
|
||||
iv_internal = abap_false ).
|
||||
endmethod.
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_url
|
||||
iv_internal = abap_false ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CREATE_INTERNAL_LINK.
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_location
|
||||
iv_internal = abap_true ).
|
||||
endmethod.
|
||||
METHOD create_internal_link.
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_location
|
||||
iv_internal = abap_true ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_REF.
|
||||
ev_ref = row.
|
||||
CONDENSE ev_ref.
|
||||
CONCATENATE column ev_ref INTO ev_ref.
|
||||
endmethod.
|
||||
METHOD get_ref.
|
||||
ev_ref = row.
|
||||
CONDENSE ev_ref.
|
||||
CONCATENATE column ev_ref INTO ev_ref.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_URL.
|
||||
ev_url = me->location.
|
||||
endmethod.
|
||||
METHOD get_url.
|
||||
ev_url = me->location.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_INTERNAL.
|
||||
ev_ret = me->internal.
|
||||
endmethod.
|
||||
METHOD is_internal.
|
||||
ev_ret = me->internal.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_CELL_REFERENCE.
|
||||
me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column
|
||||
me->row = ip_row.
|
||||
endmethod.
|
||||
METHOD set_cell_reference.
|
||||
me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column
|
||||
me->row = ip_row.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,162 +1,162 @@
|
|||
class ZCL_EXCEL_LEGACY_PALETTE definition
|
||||
public
|
||||
create public .
|
||||
CLASS zcl_excel_legacy_palette DEFINITION
|
||||
PUBLIC
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_LEGACY_PALETTE
|
||||
*"* do not include other source files here!!!
|
||||
type-pools ABAP .
|
||||
TYPE-POOLS abap .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
methods IS_MODIFIED
|
||||
returning
|
||||
value(EP_MODIFIED) type ABAP_BOOL .
|
||||
methods GET_COLOR
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
returning
|
||||
value(EP_COLOR) type ZEXCEL_STYLE_COLOR_ARGB
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_COLORS
|
||||
returning
|
||||
value(EP_COLORS) type ZEXCEL_T_STYLE_COLOR_ARGB .
|
||||
methods SET_COLOR
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
!IP_COLOR type ZEXCEL_STYLE_COLOR_ARGB
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
protected section.
|
||||
METHODS constructor .
|
||||
METHODS is_modified
|
||||
RETURNING
|
||||
VALUE(ep_modified) TYPE abap_bool .
|
||||
METHODS get_color
|
||||
IMPORTING
|
||||
!ip_index TYPE i
|
||||
RETURNING
|
||||
VALUE(ep_color) TYPE zexcel_style_color_argb
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS get_colors
|
||||
RETURNING
|
||||
VALUE(ep_colors) TYPE zexcel_t_style_color_argb .
|
||||
METHODS set_color
|
||||
IMPORTING
|
||||
!ip_index TYPE i
|
||||
!ip_color TYPE zexcel_style_color_argb
|
||||
RAISING
|
||||
zcx_excel .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_LEGACY_PALETTE
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
*"* private components of class ZCL_EXCEL_LEGACY_PALETTE
|
||||
*"* do not include other source files here!!!
|
||||
data MODIFIED type ABAP_BOOL value ABAP_FALSE. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data COLORS type ZEXCEL_T_STYLE_COLOR_ARGB .
|
||||
DATA modified TYPE abap_bool VALUE abap_false. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA colors TYPE zexcel_t_style_color_argb .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_LEGACY_PALETTE IMPLEMENTATION.
|
||||
CLASS zcl_excel_legacy_palette IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
" default Excel palette based on
|
||||
" http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.indexedcolors.aspx
|
||||
METHOD constructor.
|
||||
" default Excel palette based on
|
||||
" http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.indexedcolors.aspx
|
||||
|
||||
APPEND '00000000' TO colors.
|
||||
APPEND '00FFFFFF' TO colors.
|
||||
APPEND '00FF0000' TO colors.
|
||||
APPEND '0000FF00' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00000000' TO colors.
|
||||
APPEND '00FFFFFF' TO colors.
|
||||
APPEND '00000000' TO colors.
|
||||
APPEND '00FFFFFF' TO colors.
|
||||
APPEND '00FF0000' TO colors.
|
||||
APPEND '0000FF00' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00000000' TO colors.
|
||||
APPEND '00FFFFFF' TO colors.
|
||||
|
||||
APPEND '00FF0000' TO colors.
|
||||
APPEND '0000FF00' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00800000' TO colors.
|
||||
APPEND '00008000' TO colors.
|
||||
APPEND '00000080' TO colors.
|
||||
APPEND '00808000' TO colors.
|
||||
APPEND '00FF0000' TO colors.
|
||||
APPEND '0000FF00' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00800000' TO colors.
|
||||
APPEND '00008000' TO colors.
|
||||
APPEND '00000080' TO colors.
|
||||
APPEND '00808000' TO colors.
|
||||
|
||||
APPEND '00800080' TO colors.
|
||||
APPEND '00008080' TO colors.
|
||||
APPEND '00C0C0C0' TO colors.
|
||||
APPEND '00808080' TO colors.
|
||||
APPEND '009999FF' TO colors.
|
||||
APPEND '00993366' TO colors.
|
||||
APPEND '00FFFFCC' TO colors.
|
||||
APPEND '00CCFFFF' TO colors.
|
||||
APPEND '00660066' TO colors.
|
||||
APPEND '00FF8080' TO colors.
|
||||
APPEND '00800080' TO colors.
|
||||
APPEND '00008080' TO colors.
|
||||
APPEND '00C0C0C0' TO colors.
|
||||
APPEND '00808080' TO colors.
|
||||
APPEND '009999FF' TO colors.
|
||||
APPEND '00993366' TO colors.
|
||||
APPEND '00FFFFCC' TO colors.
|
||||
APPEND '00CCFFFF' TO colors.
|
||||
APPEND '00660066' TO colors.
|
||||
APPEND '00FF8080' TO colors.
|
||||
|
||||
APPEND '000066CC' TO colors.
|
||||
APPEND '00CCCCFF' TO colors.
|
||||
APPEND '00000080' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00800080' TO colors.
|
||||
APPEND '00800000' TO colors.
|
||||
APPEND '00008080' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
APPEND '000066CC' TO colors.
|
||||
APPEND '00CCCCFF' TO colors.
|
||||
APPEND '00000080' TO colors.
|
||||
APPEND '00FF00FF' TO colors.
|
||||
APPEND '00FFFF00' TO colors.
|
||||
APPEND '0000FFFF' TO colors.
|
||||
APPEND '00800080' TO colors.
|
||||
APPEND '00800000' TO colors.
|
||||
APPEND '00008080' TO colors.
|
||||
APPEND '000000FF' TO colors.
|
||||
|
||||
APPEND '0000CCFF' TO colors.
|
||||
APPEND '00CCFFFF' TO colors.
|
||||
APPEND '00CCFFCC' TO colors.
|
||||
APPEND '00FFFF99' TO colors.
|
||||
APPEND '0099CCFF' TO colors.
|
||||
APPEND '00FF99CC' TO colors.
|
||||
APPEND '00CC99FF' TO colors.
|
||||
APPEND '00FFCC99' TO colors.
|
||||
APPEND '003366FF' TO colors.
|
||||
APPEND '0033CCCC' TO colors.
|
||||
APPEND '0000CCFF' TO colors.
|
||||
APPEND '00CCFFFF' TO colors.
|
||||
APPEND '00CCFFCC' TO colors.
|
||||
APPEND '00FFFF99' TO colors.
|
||||
APPEND '0099CCFF' TO colors.
|
||||
APPEND '00FF99CC' TO colors.
|
||||
APPEND '00CC99FF' TO colors.
|
||||
APPEND '00FFCC99' TO colors.
|
||||
APPEND '003366FF' TO colors.
|
||||
APPEND '0033CCCC' TO colors.
|
||||
|
||||
APPEND '0099CC00' TO colors.
|
||||
APPEND '00FFCC00' TO colors.
|
||||
APPEND '00FF9900' TO colors.
|
||||
APPEND '00FF6600' TO colors.
|
||||
APPEND '00666699' TO colors.
|
||||
APPEND '00969696' TO colors.
|
||||
APPEND '00003366' TO colors.
|
||||
APPEND '00339966' TO colors.
|
||||
APPEND '00003300' TO colors.
|
||||
APPEND '00333300' TO colors.
|
||||
APPEND '0099CC00' TO colors.
|
||||
APPEND '00FFCC00' TO colors.
|
||||
APPEND '00FF9900' TO colors.
|
||||
APPEND '00FF6600' TO colors.
|
||||
APPEND '00666699' TO colors.
|
||||
APPEND '00969696' TO colors.
|
||||
APPEND '00003366' TO colors.
|
||||
APPEND '00339966' TO colors.
|
||||
APPEND '00003300' TO colors.
|
||||
APPEND '00333300' TO colors.
|
||||
|
||||
APPEND '00993300' TO colors.
|
||||
APPEND '00993366' TO colors.
|
||||
APPEND '00333399' TO colors.
|
||||
APPEND '00333333' TO colors.
|
||||
APPEND '00993300' TO colors.
|
||||
APPEND '00993366' TO colors.
|
||||
APPEND '00333399' TO colors.
|
||||
APPEND '00333333' TO colors.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLOR.
|
||||
DATA: lv_index type i.
|
||||
METHOD get_color.
|
||||
DATA: lv_index TYPE i.
|
||||
|
||||
lv_index = ip_index + 1.
|
||||
READ TABLE colors INTO ep_color INDEX lv_index.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_excel=>raise_text( 'Invalid color index' ).
|
||||
ENDIF.
|
||||
endmethod.
|
||||
lv_index = ip_index + 1.
|
||||
READ TABLE colors INTO ep_color INDEX lv_index.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_excel=>raise_text( 'Invalid color index' ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_COLORS.
|
||||
ep_colors = colors.
|
||||
endmethod.
|
||||
METHOD get_colors.
|
||||
ep_colors = colors.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_MODIFIED.
|
||||
ep_modified = modified.
|
||||
endmethod.
|
||||
METHOD is_modified.
|
||||
ep_modified = modified.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_COLOR.
|
||||
DATA: lv_index TYPE i.
|
||||
METHOD set_color.
|
||||
DATA: lv_index TYPE i.
|
||||
|
||||
FIELD-SYMBOLS: <lv_color> LIKE LINE OF colors.
|
||||
FIELD-SYMBOLS: <lv_color> LIKE LINE OF colors.
|
||||
|
||||
lv_index = ip_index + 1.
|
||||
READ TABLE colors ASSIGNING <lv_color> INDEX lv_index.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_excel=>raise_text( 'Invalid color index' ).
|
||||
ENDIF.
|
||||
lv_index = ip_index + 1.
|
||||
READ TABLE colors ASSIGNING <lv_color> INDEX lv_index.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_excel=>raise_text( 'Invalid color index' ).
|
||||
ENDIF.
|
||||
|
||||
IF <lv_color> <> ip_color.
|
||||
modified = abap_true.
|
||||
<lv_color> = ip_color.
|
||||
ENDIF.
|
||||
IF <lv_color> <> ip_color.
|
||||
modified = abap_true.
|
||||
<lv_color> = ip_color.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
class ZCL_EXCEL_OBSOLETE_FUNC_WRAP definition
|
||||
public
|
||||
create public .
|
||||
CLASS zcl_excel_obsolete_func_wrap DEFINITION
|
||||
PUBLIC
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-methods GUID_CREATE
|
||||
returning
|
||||
value(RV_GUID_16) type GUID_16 .
|
||||
protected section.
|
||||
private section.
|
||||
CLASS-METHODS guid_create
|
||||
RETURNING
|
||||
VALUE(rv_guid_16) TYPE guid_16 .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_OBSOLETE_FUNC_WRAP IMPLEMENTATION.
|
||||
CLASS zcl_excel_obsolete_func_wrap IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD guid_create.
|
||||
METHOD guid_create.
|
||||
|
||||
TRY.
|
||||
rv_guid_16 = cl_system_uuid=>if_system_uuid_static~create_uuid_x16( ).
|
||||
CATCH cx_uuid_error.
|
||||
ENDTRY.
|
||||
TRY.
|
||||
rv_guid_16 = cl_system_uuid=>if_system_uuid_static~create_uuid_x16( ).
|
||||
CATCH cx_uuid_error.
|
||||
ENDTRY.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* If you are on a release that does not yet have the class cl_system_uuid
|
||||
|
@ -34,5 +34,5 @@ METHOD guid_create.
|
|||
* IMPORTING
|
||||
* ev_guid_16 = rv_guid_16.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,45 +1,45 @@
|
|||
class ZCL_EXCEL_PROPERTIES definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_properties DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
data CREATOR type ZEXCEL_CREATOR value 'Ivan Femia'. "#EC NOTEXT . . . " .
|
||||
data LASTMODIFIEDBY type ZEXCEL_CREATOR value 'Ivan Femia'. "#EC NOTEXT . . . " .
|
||||
data CREATED type TIMESTAMPL .
|
||||
data MODIFIED type TIMESTAMPL .
|
||||
data TITLE type ZEXCEL_TITLE value 'abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
data SUBJECT type ZEXCEL_SUBJECT .
|
||||
data DESCRIPTION type ZEXCEL_DESCRIPTION value 'Created using abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
data KEYWORDS type ZEXCEL_KEYWORDS .
|
||||
data CATEGORY type ZEXCEL_CATEGORY .
|
||||
data COMPANY type ZEXCEL_COMPANY value 'abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
data APPLICATION type ZEXCEL_APPLICATION value 'Microsoft Excel'. "#EC NOTEXT . . . " .
|
||||
data DOCSECURITY type ZEXCEL_DOCSECURITY value '0'. "#EC NOTEXT . . . " .
|
||||
data SCALECROP type ZEXCEL_SCALECROP value ''. "#EC NOTEXT . . . " .
|
||||
data LINKSUPTODATE type FLAG .
|
||||
data SHAREDDOC type FLAG .
|
||||
data HYPERLINKSCHANGED type FLAG .
|
||||
data APPVERSION type ZEXCEL_APPVERSION value '12.0000'. "#EC NOTEXT . . . " .
|
||||
DATA creator TYPE zexcel_creator VALUE 'Ivan Femia'. "#EC NOTEXT . . . " .
|
||||
DATA lastmodifiedby TYPE zexcel_creator VALUE 'Ivan Femia'. "#EC NOTEXT . . . " .
|
||||
DATA created TYPE timestampl .
|
||||
DATA modified TYPE timestampl .
|
||||
DATA title TYPE zexcel_title VALUE 'abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
DATA subject TYPE zexcel_subject .
|
||||
DATA description TYPE zexcel_description VALUE 'Created using abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
DATA keywords TYPE zexcel_keywords .
|
||||
DATA category TYPE zexcel_category .
|
||||
DATA company TYPE zexcel_company VALUE 'abap2xlsx'. "#EC NOTEXT . . . " .
|
||||
DATA application TYPE zexcel_application VALUE 'Microsoft Excel'. "#EC NOTEXT . . . " .
|
||||
DATA docsecurity TYPE zexcel_docsecurity VALUE '0'. "#EC NOTEXT . . . " .
|
||||
DATA scalecrop TYPE zexcel_scalecrop VALUE ''. "#EC NOTEXT . . . " .
|
||||
DATA linksuptodate TYPE flag .
|
||||
DATA shareddoc TYPE flag .
|
||||
DATA hyperlinkschanged TYPE flag .
|
||||
DATA appversion TYPE zexcel_appversion VALUE '12.0000'. "#EC NOTEXT . . . " .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
protected section.
|
||||
private section.
|
||||
METHODS constructor .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_PROPERTIES IMPLEMENTATION.
|
||||
CLASS zcl_excel_properties IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
DATA: lv_timestamp TYPE timestampl.
|
||||
DATA: lv_timestamp TYPE timestampl.
|
||||
|
||||
GET TIME STAMP FIELD lv_timestamp.
|
||||
created = lv_timestamp.
|
||||
modified = lv_timestamp.
|
||||
GET TIME STAMP FIELD lv_timestamp.
|
||||
created = lv_timestamp.
|
||||
modified = lv_timestamp.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
class ZCL_EXCEL_RANGE definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_range DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_RANGE
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
constants GCV_PRINT_TITLE_NAME type STRING value '_xlnm.Print_Titles'. "#EC NOTEXT
|
||||
data NAME type ZEXCEL_RANGE_NAME .
|
||||
data GUID type ZEXCEL_RANGE_GUID .
|
||||
CONSTANTS gcv_print_title_name TYPE string VALUE '_xlnm.Print_Titles'. "#EC NOTEXT
|
||||
DATA name TYPE zexcel_range_name .
|
||||
DATA guid TYPE zexcel_range_guid .
|
||||
|
||||
methods GET_GUID
|
||||
returning
|
||||
value(EP_GUID) type ZEXCEL_RANGE_GUID .
|
||||
methods SET_VALUE
|
||||
importing
|
||||
!IP_SHEET_NAME type ZEXCEL_SHEET_TITLE
|
||||
!IP_START_ROW type ZEXCEL_CELL_ROW
|
||||
!IP_START_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
!IP_STOP_ROW type ZEXCEL_CELL_ROW
|
||||
!IP_STOP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .
|
||||
methods GET_VALUE
|
||||
returning
|
||||
value(EP_VALUE) type ZEXCEL_RANGE_VALUE .
|
||||
methods SET_RANGE_VALUE
|
||||
importing
|
||||
!IP_VALUE type ZEXCEL_RANGE_VALUE .
|
||||
METHODS get_guid
|
||||
RETURNING
|
||||
VALUE(ep_guid) TYPE zexcel_range_guid .
|
||||
METHODS set_value
|
||||
IMPORTING
|
||||
!ip_sheet_name TYPE zexcel_sheet_title
|
||||
!ip_start_row TYPE zexcel_cell_row
|
||||
!ip_start_column TYPE zexcel_cell_column_alpha
|
||||
!ip_stop_row TYPE zexcel_cell_row
|
||||
!ip_stop_column TYPE zexcel_cell_column_alpha .
|
||||
METHODS get_value
|
||||
RETURNING
|
||||
VALUE(ep_value) TYPE zexcel_range_value .
|
||||
METHODS set_range_value
|
||||
IMPORTING
|
||||
!ip_value TYPE zexcel_range_value .
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEET
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_RANGE
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data VALUE type ZEXCEL_RANGE_VALUE .
|
||||
DATA value TYPE zexcel_range_value .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_RANGE IMPLEMENTATION.
|
||||
CLASS zcl_excel_range IMPLEMENTATION.
|
||||
|
||||
|
||||
method GET_GUID.
|
||||
METHOD get_guid.
|
||||
|
||||
ep_guid = me->guid.
|
||||
ep_guid = me->guid.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_VALUE.
|
||||
METHOD get_value.
|
||||
|
||||
ep_value = me->value.
|
||||
ep_value = me->value.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_RANGE_VALUE.
|
||||
me->value = ip_value.
|
||||
endmethod.
|
||||
METHOD set_range_value.
|
||||
me->value = ip_value.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_VALUE.
|
||||
DATA: lv_start_row_c TYPE char7,
|
||||
lv_stop_row_c TYPE char7,
|
||||
lv_value TYPE string.
|
||||
lv_stop_row_c = ip_stop_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_start_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
lv_value = ip_sheet_name.
|
||||
me->value = zcl_excel_common=>escape_string( ip_value = lv_value ).
|
||||
METHOD set_value.
|
||||
DATA: lv_start_row_c TYPE char7,
|
||||
lv_stop_row_c TYPE char7,
|
||||
lv_value TYPE string.
|
||||
lv_stop_row_c = ip_stop_row.
|
||||
SHIFT lv_stop_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_stop_row_c LEFT DELETING LEADING space.
|
||||
lv_start_row_c = ip_start_row.
|
||||
SHIFT lv_start_row_c RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_start_row_c LEFT DELETING LEADING space.
|
||||
lv_value = ip_sheet_name.
|
||||
me->value = zcl_excel_common=>escape_string( ip_value = lv_value ).
|
||||
|
||||
IF ip_stop_column IS INITIAL AND ip_stop_row IS INITIAL.
|
||||
CONCATENATE me->value '!$' ip_start_column '$' lv_start_row_c INTO me->value.
|
||||
ELSE.
|
||||
CONCATENATE me->value '!$' ip_start_column '$' lv_start_row_c ':$' ip_stop_column '$' lv_stop_row_c INTO me->value.
|
||||
ENDIF.
|
||||
endmethod.
|
||||
IF ip_stop_column IS INITIAL AND ip_stop_row IS INITIAL.
|
||||
CONCATENATE me->value '!$' ip_start_column '$' lv_start_row_c INTO me->value.
|
||||
ELSE.
|
||||
CONCATENATE me->value '!$' ip_start_column '$' lv_start_row_c ':$' ip_stop_column '$' lv_stop_row_c INTO me->value.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,88 +1,88 @@
|
|||
class ZCL_EXCEL_RANGES definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_ranges DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_RANGES
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IP_RANGE type ref to ZCL_EXCEL_RANGE .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
returning
|
||||
value(EO_RANGE) type ref to ZCL_EXCEL_RANGE .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IP_RANGE type ref to ZCL_EXCEL_RANGE .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!ip_range TYPE REF TO zcl_excel_range .
|
||||
METHODS clear .
|
||||
METHODS constructor .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!ip_index TYPE i
|
||||
RETURNING
|
||||
VALUE(eo_range) TYPE REF TO zcl_excel_range .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!ip_range TYPE REF TO zcl_excel_range .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZABAP_EXCEL_RANGES
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data RANGES type ref to CL_OBJECT_COLLECTION .
|
||||
DATA ranges TYPE REF TO cl_object_collection .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_RANGES IMPLEMENTATION.
|
||||
CLASS zcl_excel_ranges IMPLEMENTATION.
|
||||
|
||||
|
||||
method ADD.
|
||||
ranges->add( ip_range ).
|
||||
endmethod.
|
||||
METHOD add.
|
||||
ranges->add( ip_range ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CLEAR.
|
||||
ranges->clear( ).
|
||||
endmethod.
|
||||
METHOD clear.
|
||||
ranges->clear( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
|
||||
CREATE OBJECT ranges.
|
||||
CREATE OBJECT ranges.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET.
|
||||
eo_range ?= ranges->get( ip_index ).
|
||||
endmethod.
|
||||
METHOD get.
|
||||
eo_range ?= ranges->get( ip_index ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
eo_iterator ?= ranges->get_iterator( ).
|
||||
endmethod.
|
||||
METHOD get_iterator.
|
||||
eo_iterator ?= ranges->get_iterator( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
is_empty = ranges->is_empty( ).
|
||||
endmethod.
|
||||
METHOD is_empty.
|
||||
is_empty = ranges->is_empty( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method REMOVE.
|
||||
ranges->remove( ip_range ).
|
||||
endmethod.
|
||||
METHOD remove.
|
||||
ranges->remove( ip_range ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SIZE.
|
||||
ep_size = ranges->size( ).
|
||||
endmethod.
|
||||
METHOD size.
|
||||
ep_size = ranges->size( ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,314 +1,314 @@
|
|||
class ZCL_EXCEL_READER_HUGE_FILE definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_READER_2007
|
||||
create public .
|
||||
CLASS zcl_excel_reader_huge_file DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_reader_2007
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
protected section.
|
||||
PUBLIC SECTION.
|
||||
PROTECTED SECTION.
|
||||
|
||||
methods LOAD_SHARED_STRINGS
|
||||
redefinition .
|
||||
methods LOAD_WORKSHEET
|
||||
redefinition .
|
||||
private section.
|
||||
METHODS load_shared_strings
|
||||
REDEFINITION .
|
||||
METHODS load_worksheet
|
||||
REDEFINITION .
|
||||
PRIVATE SECTION.
|
||||
|
||||
types:
|
||||
begin of t_cell_content,
|
||||
datatype type zexcel_cell_data_type,
|
||||
value type zexcel_cell_value,
|
||||
formula type zexcel_cell_formula,
|
||||
style type zexcel_cell_style,
|
||||
end of t_cell_content .
|
||||
types:
|
||||
begin of t_cell_coord,
|
||||
row type zexcel_cell_row,
|
||||
column type zexcel_cell_column_alpha,
|
||||
end of t_cell_coord .
|
||||
types:
|
||||
begin of t_cell.
|
||||
include type t_cell_coord as coord.
|
||||
include type t_cell_content as content.
|
||||
types: end of t_cell .
|
||||
TYPES:
|
||||
BEGIN OF t_cell_content,
|
||||
datatype TYPE zexcel_cell_data_type,
|
||||
value TYPE zexcel_cell_value,
|
||||
formula TYPE zexcel_cell_formula,
|
||||
style TYPE zexcel_cell_style,
|
||||
END OF t_cell_content .
|
||||
TYPES:
|
||||
BEGIN OF t_cell_coord,
|
||||
row TYPE zexcel_cell_row,
|
||||
column TYPE zexcel_cell_column_alpha,
|
||||
END OF t_cell_coord .
|
||||
TYPES:
|
||||
BEGIN OF t_cell.
|
||||
INCLUDE TYPE t_cell_coord AS coord.
|
||||
INCLUDE TYPE t_cell_content AS content.
|
||||
TYPES: END OF t_cell .
|
||||
|
||||
interface IF_SXML_NODE load .
|
||||
constants C_END_OF_STREAM type IF_SXML_NODE=>NODE_TYPE value IF_SXML_NODE=>CO_NT_FINAL. "#EC NOTEXT
|
||||
constants C_ELEMENT_OPEN type IF_SXML_NODE=>NODE_TYPE value IF_SXML_NODE=>CO_NT_ELEMENT_OPEN. "#EC NOTEXT
|
||||
constants C_ELEMENT_CLOSE type IF_SXML_NODE=>NODE_TYPE value IF_SXML_NODE=>CO_NT_ELEMENT_CLOSE. "#EC NOTEXT
|
||||
data:
|
||||
begin of gs_buffer_style,
|
||||
index type i value -1,
|
||||
guid type zexcel_cell_style,
|
||||
end of gs_buffer_style .
|
||||
constants C_ATTRIBUTE type IF_SXML_NODE=>NODE_TYPE value IF_SXML_NODE=>CO_NT_ATTRIBUTE. "#EC NOTEXT
|
||||
constants C_NODE_VALUE type IF_SXML_NODE=>NODE_TYPE value IF_SXML_NODE=>CO_NT_VALUE. "#EC NOTEXT
|
||||
INTERFACE if_sxml_node LOAD .
|
||||
CONSTANTS c_end_of_stream TYPE if_sxml_node=>node_type VALUE if_sxml_node=>co_nt_final. "#EC NOTEXT
|
||||
CONSTANTS c_element_open TYPE if_sxml_node=>node_type VALUE if_sxml_node=>co_nt_element_open. "#EC NOTEXT
|
||||
CONSTANTS c_element_close TYPE if_sxml_node=>node_type VALUE if_sxml_node=>co_nt_element_close. "#EC NOTEXT
|
||||
DATA:
|
||||
BEGIN OF gs_buffer_style,
|
||||
index TYPE i VALUE -1,
|
||||
guid TYPE zexcel_cell_style,
|
||||
END OF gs_buffer_style .
|
||||
CONSTANTS c_attribute TYPE if_sxml_node=>node_type VALUE if_sxml_node=>co_nt_attribute. "#EC NOTEXT
|
||||
CONSTANTS c_node_value TYPE if_sxml_node=>node_type VALUE if_sxml_node=>co_nt_value. "#EC NOTEXT
|
||||
|
||||
methods SKIP_TO
|
||||
importing
|
||||
!IV_ELEMENT_NAME type STRING
|
||||
!IO_READER type ref to IF_SXML_READER
|
||||
raising
|
||||
LCX_NOT_FOUND .
|
||||
methods FILL_CELL_FROM_ATTRIBUTES
|
||||
importing
|
||||
!IO_READER type ref to IF_SXML_READER
|
||||
returning
|
||||
value(ES_CELL) type T_CELL
|
||||
raising
|
||||
LCX_NOT_FOUND .
|
||||
methods READ_SHARED_STRINGS
|
||||
importing
|
||||
!IO_READER type ref to IF_SXML_READER
|
||||
returning
|
||||
value(ET_SHARED_STRINGS) type STRINGTAB .
|
||||
methods GET_CELL_COORD
|
||||
importing
|
||||
!IV_COORD type STRING
|
||||
returning
|
||||
value(ES_COORD) type T_CELL_COORD .
|
||||
methods PUT_CELL_TO_WORKSHEET
|
||||
importing
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
|
||||
!IS_CELL type T_CELL .
|
||||
methods GET_SHARED_STRING
|
||||
importing
|
||||
!IV_INDEX type ANY
|
||||
returning
|
||||
value(EV_VALUE) type STRING
|
||||
raising
|
||||
LCX_NOT_FOUND .
|
||||
methods GET_STYLE
|
||||
importing
|
||||
!IV_INDEX type ANY
|
||||
returning
|
||||
value(EV_STYLE_GUID) type ZEXCEL_CELL_STYLE
|
||||
raising
|
||||
LCX_NOT_FOUND .
|
||||
methods READ_WORKSHEET_DATA
|
||||
importing
|
||||
!IO_READER type ref to IF_SXML_READER
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
|
||||
raising
|
||||
LCX_NOT_FOUND .
|
||||
methods GET_SXML_READER
|
||||
importing
|
||||
!IV_PATH type STRING
|
||||
returning
|
||||
value(EO_READER) type ref to IF_SXML_READER
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
METHODS skip_to
|
||||
IMPORTING
|
||||
!iv_element_name TYPE string
|
||||
!io_reader TYPE REF TO if_sxml_reader
|
||||
RAISING
|
||||
lcx_not_found .
|
||||
METHODS fill_cell_from_attributes
|
||||
IMPORTING
|
||||
!io_reader TYPE REF TO if_sxml_reader
|
||||
RETURNING
|
||||
VALUE(es_cell) TYPE t_cell
|
||||
RAISING
|
||||
lcx_not_found .
|
||||
METHODS read_shared_strings
|
||||
IMPORTING
|
||||
!io_reader TYPE REF TO if_sxml_reader
|
||||
RETURNING
|
||||
VALUE(et_shared_strings) TYPE stringtab .
|
||||
METHODS get_cell_coord
|
||||
IMPORTING
|
||||
!iv_coord TYPE string
|
||||
RETURNING
|
||||
VALUE(es_coord) TYPE t_cell_coord .
|
||||
METHODS put_cell_to_worksheet
|
||||
IMPORTING
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
!is_cell TYPE t_cell .
|
||||
METHODS get_shared_string
|
||||
IMPORTING
|
||||
!iv_index TYPE any
|
||||
RETURNING
|
||||
VALUE(ev_value) TYPE string
|
||||
RAISING
|
||||
lcx_not_found .
|
||||
METHODS get_style
|
||||
IMPORTING
|
||||
!iv_index TYPE any
|
||||
RETURNING
|
||||
VALUE(ev_style_guid) TYPE zexcel_cell_style
|
||||
RAISING
|
||||
lcx_not_found .
|
||||
METHODS read_worksheet_data
|
||||
IMPORTING
|
||||
!io_reader TYPE REF TO if_sxml_reader
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet
|
||||
RAISING
|
||||
lcx_not_found .
|
||||
METHODS get_sxml_reader
|
||||
IMPORTING
|
||||
!iv_path TYPE string
|
||||
RETURNING
|
||||
VALUE(eo_reader) TYPE REF TO if_sxml_reader
|
||||
RAISING
|
||||
zcx_excel .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_READER_HUGE_FILE IMPLEMENTATION.
|
||||
CLASS zcl_excel_reader_huge_file IMPLEMENTATION.
|
||||
|
||||
|
||||
method FILL_CELL_FROM_ATTRIBUTES.
|
||||
METHOD fill_cell_from_attributes.
|
||||
|
||||
while io_reader->node_type ne c_end_of_stream.
|
||||
io_reader->next_attribute( ).
|
||||
if io_reader->node_type ne c_attribute.
|
||||
exit.
|
||||
endif.
|
||||
case io_reader->name.
|
||||
when `t`.
|
||||
es_cell-datatype = io_reader->value.
|
||||
when `s`.
|
||||
if io_reader->value is not initial.
|
||||
es_cell-style = get_style( io_reader->value ).
|
||||
endif.
|
||||
when `r`.
|
||||
es_cell-coord = get_cell_coord( io_reader->value ).
|
||||
endcase.
|
||||
endwhile.
|
||||
WHILE io_reader->node_type NE c_end_of_stream.
|
||||
io_reader->next_attribute( ).
|
||||
IF io_reader->node_type NE c_attribute.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
CASE io_reader->name.
|
||||
WHEN `t`.
|
||||
es_cell-datatype = io_reader->value.
|
||||
WHEN `s`.
|
||||
IF io_reader->value IS NOT INITIAL.
|
||||
es_cell-style = get_style( io_reader->value ).
|
||||
ENDIF.
|
||||
WHEN `r`.
|
||||
es_cell-coord = get_cell_coord( io_reader->value ).
|
||||
ENDCASE.
|
||||
ENDWHILE.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_CELL_COORD.
|
||||
METHOD get_cell_coord.
|
||||
|
||||
zcl_excel_common=>convert_columnrow2column_a_row(
|
||||
exporting
|
||||
i_columnrow = iv_coord
|
||||
importing
|
||||
e_column = es_coord-column
|
||||
e_row = es_coord-row
|
||||
).
|
||||
zcl_excel_common=>convert_columnrow2column_a_row(
|
||||
EXPORTING
|
||||
i_columnrow = iv_coord
|
||||
IMPORTING
|
||||
e_column = es_coord-column
|
||||
e_row = es_coord-row
|
||||
).
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_SHARED_STRING.
|
||||
data: lv_tabix type i,
|
||||
lv_error type string.
|
||||
lv_tabix = iv_index + 1.
|
||||
read table shared_strings into ev_value index lv_tabix.
|
||||
if sy-subrc ne 0.
|
||||
concatenate 'Entry ' iv_index ' not found in Shared String Table' into lv_error.
|
||||
raise exception type lcx_not_found
|
||||
exporting
|
||||
error = lv_error.
|
||||
endif.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_STYLE.
|
||||
|
||||
data: lv_tabix type i,
|
||||
lo_style type ref to zcl_excel_style,
|
||||
lv_error type string.
|
||||
|
||||
if gs_buffer_style-index ne iv_index.
|
||||
METHOD get_shared_string.
|
||||
DATA: lv_tabix TYPE i,
|
||||
lv_error TYPE string.
|
||||
lv_tabix = iv_index + 1.
|
||||
read table styles into lo_style index lv_tabix.
|
||||
if sy-subrc ne 0.
|
||||
concatenate 'Entry ' iv_index ' not found in Style Table' into lv_error.
|
||||
raise exception type lcx_not_found
|
||||
exporting
|
||||
READ TABLE shared_strings INTO ev_value INDEX lv_tabix.
|
||||
IF sy-subrc NE 0.
|
||||
CONCATENATE 'Entry ' iv_index ' not found in Shared String Table' INTO lv_error.
|
||||
RAISE EXCEPTION TYPE lcx_not_found
|
||||
EXPORTING
|
||||
error = lv_error.
|
||||
else.
|
||||
gs_buffer_style-index = iv_index.
|
||||
gs_buffer_style-guid = lo_style->get_guid( ).
|
||||
endif.
|
||||
endif.
|
||||
|
||||
ev_style_guid = gs_buffer_style-guid.
|
||||
|
||||
endmethod.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_SXML_READER.
|
||||
METHOD get_style.
|
||||
|
||||
data: lv_xml type xstring.
|
||||
DATA: lv_tabix TYPE i,
|
||||
lo_style TYPE REF TO zcl_excel_style,
|
||||
lv_error TYPE string.
|
||||
|
||||
lv_xml = get_from_zip_archive( iv_path ).
|
||||
eo_reader = cl_sxml_string_reader=>create( lv_xml ).
|
||||
IF gs_buffer_style-index NE iv_index.
|
||||
lv_tabix = iv_index + 1.
|
||||
READ TABLE styles INTO lo_style INDEX lv_tabix.
|
||||
IF sy-subrc NE 0.
|
||||
CONCATENATE 'Entry ' iv_index ' not found in Style Table' INTO lv_error.
|
||||
RAISE EXCEPTION TYPE lcx_not_found
|
||||
EXPORTING
|
||||
error = lv_error.
|
||||
ELSE.
|
||||
gs_buffer_style-index = iv_index.
|
||||
gs_buffer_style-guid = lo_style->get_guid( ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
ev_style_guid = gs_buffer_style-guid.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method LOAD_SHARED_STRINGS.
|
||||
METHOD get_sxml_reader.
|
||||
|
||||
data: lo_reader type ref to if_sxml_reader.
|
||||
DATA: lv_xml TYPE xstring.
|
||||
|
||||
lo_reader = get_sxml_reader( ip_path ).
|
||||
lv_xml = get_from_zip_archive( iv_path ).
|
||||
eo_reader = cl_sxml_string_reader=>create( lv_xml ).
|
||||
|
||||
shared_strings = read_shared_strings( lo_reader ).
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method LOAD_WORKSHEET.
|
||||
METHOD load_shared_strings.
|
||||
|
||||
data: lo_reader type ref to if_sxml_reader.
|
||||
data: lx_not_found type ref to lcx_not_found.
|
||||
DATA: lo_reader TYPE REF TO if_sxml_reader.
|
||||
|
||||
lo_reader = get_sxml_reader( ip_path ).
|
||||
lo_reader = get_sxml_reader( ip_path ).
|
||||
|
||||
try.
|
||||
shared_strings = read_shared_strings( lo_reader ).
|
||||
|
||||
read_worksheet_data( io_reader = lo_reader
|
||||
io_worksheet = io_worksheet ).
|
||||
|
||||
catch lcx_not_found into lx_not_found.
|
||||
zcx_excel=>raise_text( lx_not_found->error ).
|
||||
endtry.
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method PUT_CELL_TO_WORKSHEET.
|
||||
check is_cell-value is not initial
|
||||
or is_cell-formula is not initial
|
||||
or is_cell-style is not initial.
|
||||
call method io_worksheet->set_cell
|
||||
exporting
|
||||
ip_column = is_cell-column
|
||||
ip_row = is_cell-row
|
||||
ip_value = is_cell-value
|
||||
ip_formula = is_cell-formula
|
||||
ip_data_type = is_cell-datatype
|
||||
ip_style = is_cell-style.
|
||||
endmethod.
|
||||
METHOD load_worksheet.
|
||||
|
||||
DATA: lo_reader TYPE REF TO if_sxml_reader.
|
||||
DATA: lx_not_found TYPE REF TO lcx_not_found.
|
||||
|
||||
lo_reader = get_sxml_reader( ip_path ).
|
||||
|
||||
TRY.
|
||||
|
||||
read_worksheet_data( io_reader = lo_reader
|
||||
io_worksheet = io_worksheet ).
|
||||
|
||||
CATCH lcx_not_found INTO lx_not_found.
|
||||
zcx_excel=>raise_text( lx_not_found->error ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method read_shared_strings.
|
||||
|
||||
data lv_value type string.
|
||||
|
||||
while io_reader->node_type ne c_end_of_stream.
|
||||
io_reader->next_node( ).
|
||||
if io_reader->name eq `t`.
|
||||
case io_reader->node_type .
|
||||
when c_element_open .
|
||||
clear lv_value .
|
||||
when c_node_value .
|
||||
lv_value = lv_value && io_reader->value .
|
||||
when c_element_close .
|
||||
append lv_value to et_shared_strings.
|
||||
endcase .
|
||||
endif.
|
||||
endwhile.
|
||||
|
||||
endmethod.
|
||||
METHOD put_cell_to_worksheet.
|
||||
CHECK is_cell-value IS NOT INITIAL
|
||||
OR is_cell-formula IS NOT INITIAL
|
||||
OR is_cell-style IS NOT INITIAL.
|
||||
CALL METHOD io_worksheet->set_cell
|
||||
EXPORTING
|
||||
ip_column = is_cell-column
|
||||
ip_row = is_cell-row
|
||||
ip_value = is_cell-value
|
||||
ip_formula = is_cell-formula
|
||||
ip_data_type = is_cell-datatype
|
||||
ip_style = is_cell-style.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method READ_WORKSHEET_DATA.
|
||||
METHOD read_shared_strings.
|
||||
|
||||
data: ls_cell type t_cell.
|
||||
DATA lv_value TYPE string.
|
||||
|
||||
WHILE io_reader->node_type NE c_end_of_stream.
|
||||
io_reader->next_node( ).
|
||||
IF io_reader->name EQ `t`.
|
||||
CASE io_reader->node_type .
|
||||
WHEN c_element_open .
|
||||
CLEAR lv_value .
|
||||
WHEN c_node_value .
|
||||
lv_value = lv_value && io_reader->value .
|
||||
WHEN c_element_close .
|
||||
APPEND lv_value TO et_shared_strings.
|
||||
ENDCASE .
|
||||
ENDIF.
|
||||
ENDWHILE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_worksheet_data.
|
||||
|
||||
DATA: ls_cell TYPE t_cell.
|
||||
|
||||
* Skip to <sheetData> element
|
||||
skip_to( iv_element_name = `sheetData` io_reader = io_reader ).
|
||||
skip_to( iv_element_name = `sheetData` io_reader = io_reader ).
|
||||
|
||||
* Main loop: Evaluate the <c> elements and its children
|
||||
while io_reader->node_type ne c_end_of_stream.
|
||||
io_reader->next_node( ).
|
||||
case io_reader->node_type.
|
||||
when c_element_open.
|
||||
if io_reader->name eq `c`.
|
||||
ls_cell = fill_cell_from_attributes( io_reader ).
|
||||
endif.
|
||||
when c_node_value.
|
||||
case io_reader->name.
|
||||
when `f`.
|
||||
ls_cell-formula = io_reader->value.
|
||||
when `v`.
|
||||
if ls_cell-datatype eq `s`.
|
||||
ls_cell-value = get_shared_string( io_reader->value ).
|
||||
else.
|
||||
WHILE io_reader->node_type NE c_end_of_stream.
|
||||
io_reader->next_node( ).
|
||||
CASE io_reader->node_type.
|
||||
WHEN c_element_open.
|
||||
IF io_reader->name EQ `c`.
|
||||
ls_cell = fill_cell_from_attributes( io_reader ).
|
||||
ENDIF.
|
||||
WHEN c_node_value.
|
||||
CASE io_reader->name.
|
||||
WHEN `f`.
|
||||
ls_cell-formula = io_reader->value.
|
||||
WHEN `v`.
|
||||
IF ls_cell-datatype EQ `s`.
|
||||
ls_cell-value = get_shared_string( io_reader->value ).
|
||||
ELSE.
|
||||
ls_cell-value = io_reader->value.
|
||||
ENDIF.
|
||||
WHEN `t` OR `is`.
|
||||
ls_cell-value = io_reader->value.
|
||||
endif.
|
||||
when `t` or `is`.
|
||||
ls_cell-value = io_reader->value.
|
||||
endcase.
|
||||
when c_element_close.
|
||||
case io_reader->name.
|
||||
when `c`.
|
||||
put_cell_to_worksheet( is_cell = ls_cell io_worksheet = io_worksheet ).
|
||||
when `sheetData`.
|
||||
exit.
|
||||
endcase.
|
||||
endcase.
|
||||
endwhile.
|
||||
ENDCASE.
|
||||
WHEN c_element_close.
|
||||
CASE io_reader->name.
|
||||
WHEN `c`.
|
||||
put_cell_to_worksheet( is_cell = ls_cell io_worksheet = io_worksheet ).
|
||||
WHEN `sheetData`.
|
||||
EXIT.
|
||||
ENDCASE.
|
||||
ENDCASE.
|
||||
ENDWHILE.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SKIP_TO.
|
||||
METHOD skip_to.
|
||||
|
||||
data: lv_error type string.
|
||||
DATA: lv_error TYPE string.
|
||||
|
||||
* Skip forward to given element
|
||||
while io_reader->name ne iv_element_name or
|
||||
io_reader->node_type ne c_element_open.
|
||||
io_reader->next_node( ).
|
||||
if io_reader->node_type = c_end_of_stream.
|
||||
concatenate 'XML error: Didn''t find element <' iv_element_name '>' into lv_error.
|
||||
raise exception type lcx_not_found
|
||||
exporting
|
||||
error = lv_error.
|
||||
endif.
|
||||
endwhile.
|
||||
WHILE io_reader->name NE iv_element_name OR
|
||||
io_reader->node_type NE c_element_open.
|
||||
io_reader->next_node( ).
|
||||
IF io_reader->node_type = c_end_of_stream.
|
||||
CONCATENATE 'XML error: Didn''t find element <' iv_element_name '>' INTO lv_error.
|
||||
RAISE EXCEPTION TYPE lcx_not_found
|
||||
EXPORTING
|
||||
error = lv_error.
|
||||
ENDIF.
|
||||
ENDWHILE.
|
||||
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
class ZCL_EXCEL_READER_XLSM definition
|
||||
public
|
||||
inheriting from ZCL_EXCEL_READER_2007
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_reader_xlsm DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_reader_2007
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_READER_XLSM
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
|
||||
*"* protected components of class ZCL_EXCEL_READER_XLSM
|
||||
*"* do not include other source files here!!!
|
||||
methods LOAD_WORKBOOK
|
||||
redefinition .
|
||||
methods LOAD_WORKSHEET
|
||||
redefinition .
|
||||
private section.
|
||||
METHODS load_workbook
|
||||
REDEFINITION .
|
||||
METHODS load_worksheet
|
||||
REDEFINITION .
|
||||
PRIVATE SECTION.
|
||||
|
||||
*"* private components of class ZCL_EXCEL_READER_XLSM
|
||||
*"* do not include other source files here!!!
|
||||
methods LOAD_VBAPROJECT
|
||||
importing
|
||||
!IP_PATH type STRING
|
||||
!IP_EXCEL type ref to ZCL_EXCEL
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
METHODS load_vbaproject
|
||||
IMPORTING
|
||||
!ip_path TYPE string
|
||||
!ip_excel TYPE REF TO zcl_excel
|
||||
RAISING
|
||||
zcx_excel .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_READER_XLSM IMPLEMENTATION.
|
||||
CLASS zcl_excel_reader_xlsm IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD load_vbaproject.
|
||||
METHOD load_vbaproject.
|
||||
|
||||
DATA lv_content TYPE xstring.
|
||||
|
||||
|
@ -43,96 +43,96 @@ METHOD load_vbaproject.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
method LOAD_WORKBOOK.
|
||||
super->load_workbook( EXPORTING iv_workbook_full_filename = iv_workbook_full_filename
|
||||
io_excel = io_excel ).
|
||||
METHOD load_workbook.
|
||||
super->load_workbook( EXPORTING iv_workbook_full_filename = iv_workbook_full_filename
|
||||
io_excel = io_excel ).
|
||||
|
||||
CONSTANTS: lc_vba_project TYPE string VALUE 'http://schemas.microsoft.com/office/2006/relationships/vbaProject'.
|
||||
CONSTANTS: lc_vba_project TYPE string VALUE 'http://schemas.microsoft.com/office/2006/relationships/vbaProject'.
|
||||
|
||||
DATA: rels_workbook_path TYPE string,
|
||||
rels_workbook TYPE REF TO if_ixml_document,
|
||||
path TYPE string,
|
||||
node TYPE REF TO if_ixml_element,
|
||||
workbook TYPE REF TO if_ixml_document,
|
||||
stripped_name TYPE chkfile,
|
||||
dirname TYPE string,
|
||||
relationship TYPE t_relationship,
|
||||
fileversion TYPE t_fileversion,
|
||||
workbookpr TYPE t_workbookpr.
|
||||
DATA: rels_workbook_path TYPE string,
|
||||
rels_workbook TYPE REF TO if_ixml_document,
|
||||
path TYPE string,
|
||||
node TYPE REF TO if_ixml_element,
|
||||
workbook TYPE REF TO if_ixml_document,
|
||||
stripped_name TYPE chkfile,
|
||||
dirname TYPE string,
|
||||
relationship TYPE t_relationship,
|
||||
fileversion TYPE t_fileversion,
|
||||
workbookpr TYPE t_workbookpr.
|
||||
|
||||
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
|
||||
EXPORTING
|
||||
full_name = iv_workbook_full_filename
|
||||
IMPORTING
|
||||
stripped_name = stripped_name
|
||||
file_path = dirname.
|
||||
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
|
||||
EXPORTING
|
||||
full_name = iv_workbook_full_filename
|
||||
IMPORTING
|
||||
stripped_name = stripped_name
|
||||
file_path = dirname.
|
||||
|
||||
" Read Workbook Relationships
|
||||
CONCATENATE dirname '_rels/' stripped_name '.rels'
|
||||
INTO rels_workbook_path.
|
||||
" Read Workbook Relationships
|
||||
CONCATENATE dirname '_rels/' stripped_name '.rels'
|
||||
INTO rels_workbook_path.
|
||||
|
||||
rels_workbook = me->get_ixml_from_zip_archive( rels_workbook_path ).
|
||||
rels_workbook = me->get_ixml_from_zip_archive( rels_workbook_path ).
|
||||
|
||||
node ?= rels_workbook->find_from_name( 'Relationship' ).
|
||||
WHILE node IS BOUND.
|
||||
me->fill_struct_from_attributes( EXPORTING ip_element = node CHANGING cp_structure = relationship ).
|
||||
node ?= rels_workbook->find_from_name( 'Relationship' ).
|
||||
WHILE node IS BOUND.
|
||||
me->fill_struct_from_attributes( EXPORTING ip_element = node CHANGING cp_structure = relationship ).
|
||||
|
||||
CASE relationship-type.
|
||||
WHEN lc_vba_project.
|
||||
" Read VBA binary
|
||||
CONCATENATE dirname relationship-target INTO path.
|
||||
me->load_vbaproject( ip_path = path
|
||||
ip_excel = io_excel ).
|
||||
WHEN OTHERS.
|
||||
ENDCASE.
|
||||
CASE relationship-type.
|
||||
WHEN lc_vba_project.
|
||||
" Read VBA binary
|
||||
CONCATENATE dirname relationship-target INTO path.
|
||||
me->load_vbaproject( ip_path = path
|
||||
ip_excel = io_excel ).
|
||||
WHEN OTHERS.
|
||||
ENDCASE.
|
||||
|
||||
node ?= node->get_next( ).
|
||||
ENDWHILE.
|
||||
node ?= node->get_next( ).
|
||||
ENDWHILE.
|
||||
|
||||
" Read Workbook codeName
|
||||
workbook = me->get_ixml_from_zip_archive( iv_workbook_full_filename ).
|
||||
node ?= workbook->find_from_name( 'fileVersion' ).
|
||||
IF node IS BOUND.
|
||||
" Read Workbook codeName
|
||||
workbook = me->get_ixml_from_zip_archive( iv_workbook_full_filename ).
|
||||
node ?= workbook->find_from_name( 'fileVersion' ).
|
||||
IF node IS BOUND.
|
||||
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = fileversion ).
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = fileversion ).
|
||||
|
||||
io_excel->zif_excel_book_vba_project~set_codename( fileversion-codename ).
|
||||
ENDIF.
|
||||
|
||||
" Read Workbook codeName
|
||||
workbook = me->get_ixml_from_zip_archive( iv_workbook_full_filename ).
|
||||
node ?= workbook->find_from_name( 'workbookPr' ).
|
||||
IF node IS BOUND.
|
||||
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = workbookpr ).
|
||||
|
||||
io_excel->zif_excel_book_vba_project~set_codename_pr( workbookpr-codename ).
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
|
||||
|
||||
METHOD load_worksheet.
|
||||
|
||||
super->load_worksheet( EXPORTING ip_path = ip_path
|
||||
io_worksheet = io_worksheet ).
|
||||
|
||||
DATA: node TYPE REF TO if_ixml_element,
|
||||
worksheet TYPE REF TO if_ixml_document,
|
||||
sheetpr TYPE t_sheetpr.
|
||||
|
||||
" Read Workbook codeName
|
||||
worksheet = me->get_ixml_from_zip_archive( ip_path ).
|
||||
node ?= worksheet->find_from_name( 'sheetPr' ).
|
||||
IF node IS BOUND.
|
||||
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = sheetpr ).
|
||||
IF sheetpr-codename IS NOT INITIAL.
|
||||
io_worksheet->zif_excel_sheet_vba_project~set_codename_pr( sheetpr-codename ).
|
||||
io_excel->zif_excel_book_vba_project~set_codename( fileversion-codename ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
" Read Workbook codeName
|
||||
workbook = me->get_ixml_from_zip_archive( iv_workbook_full_filename ).
|
||||
node ?= workbook->find_from_name( 'workbookPr' ).
|
||||
IF node IS BOUND.
|
||||
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = workbookpr ).
|
||||
|
||||
io_excel->zif_excel_book_vba_project~set_codename_pr( workbookpr-codename ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD load_worksheet.
|
||||
|
||||
super->load_worksheet( EXPORTING ip_path = ip_path
|
||||
io_worksheet = io_worksheet ).
|
||||
|
||||
DATA: node TYPE REF TO if_ixml_element,
|
||||
worksheet TYPE REF TO if_ixml_document,
|
||||
sheetpr TYPE t_sheetpr.
|
||||
|
||||
" Read Workbook codeName
|
||||
worksheet = me->get_ixml_from_zip_archive( ip_path ).
|
||||
node ?= worksheet->find_from_name( 'sheetPr' ).
|
||||
IF node IS BOUND.
|
||||
|
||||
fill_struct_from_attributes( EXPORTING ip_element = node
|
||||
CHANGING cp_structure = sheetpr ).
|
||||
IF sheetpr-codename IS NOT INITIAL.
|
||||
io_worksheet->zif_excel_sheet_vba_project~set_codename_pr( sheetpr-codename ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,234 +1,234 @@
|
|||
class ZCL_EXCEL_ROW definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_row DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IP_INDEX type INT4 default 0 .
|
||||
methods GET_COLLAPSED
|
||||
importing
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET optional
|
||||
returning
|
||||
value(R_COLLAPSED) type abap_bool .
|
||||
methods GET_OUTLINE_LEVEL
|
||||
importing
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET optional
|
||||
returning
|
||||
value(R_OUTLINE_LEVEL) type INT4 .
|
||||
methods GET_ROW_HEIGHT
|
||||
returning
|
||||
value(R_ROW_HEIGHT) type FLOAT .
|
||||
methods GET_CUSTOM_HEIGHT
|
||||
returning
|
||||
value(R_CUSTOM_HEIGHT) type ABAP_BOOL .
|
||||
methods GET_ROW_INDEX
|
||||
returning
|
||||
value(R_ROW_INDEX) type INT4 .
|
||||
methods GET_VISIBLE
|
||||
importing
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET optional
|
||||
returning
|
||||
value(R_VISIBLE) type abap_bool .
|
||||
methods GET_XF_INDEX
|
||||
returning
|
||||
value(R_XF_INDEX) type INT4 .
|
||||
methods SET_COLLAPSED
|
||||
importing
|
||||
!IP_COLLAPSED type abap_bool .
|
||||
methods SET_OUTLINE_LEVEL
|
||||
importing
|
||||
!IP_OUTLINE_LEVEL type INT4
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods SET_ROW_HEIGHT
|
||||
importing
|
||||
!IP_ROW_HEIGHT type SIMPLE
|
||||
!IP_CUSTOM_HEIGHT type abap_bool default abap_true
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods SET_ROW_INDEX
|
||||
importing
|
||||
!IP_INDEX type INT4 .
|
||||
methods SET_VISIBLE
|
||||
importing
|
||||
!IP_VISIBLE type abap_bool .
|
||||
methods SET_XF_INDEX
|
||||
importing
|
||||
!IP_XF_INDEX type INT4 .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!ip_index TYPE int4 DEFAULT 0 .
|
||||
METHODS get_collapsed
|
||||
IMPORTING
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_collapsed) TYPE abap_bool .
|
||||
METHODS get_outline_level
|
||||
IMPORTING
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_outline_level) TYPE int4 .
|
||||
METHODS get_row_height
|
||||
RETURNING
|
||||
VALUE(r_row_height) TYPE float .
|
||||
METHODS get_custom_height
|
||||
RETURNING
|
||||
VALUE(r_custom_height) TYPE abap_bool .
|
||||
METHODS get_row_index
|
||||
RETURNING
|
||||
VALUE(r_row_index) TYPE int4 .
|
||||
METHODS get_visible
|
||||
IMPORTING
|
||||
!io_worksheet TYPE REF TO zcl_excel_worksheet OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_visible) TYPE abap_bool .
|
||||
METHODS get_xf_index
|
||||
RETURNING
|
||||
VALUE(r_xf_index) TYPE int4 .
|
||||
METHODS set_collapsed
|
||||
IMPORTING
|
||||
!ip_collapsed TYPE abap_bool .
|
||||
METHODS set_outline_level
|
||||
IMPORTING
|
||||
!ip_outline_level TYPE int4
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS set_row_height
|
||||
IMPORTING
|
||||
!ip_row_height TYPE simple
|
||||
!ip_custom_height TYPE abap_bool DEFAULT abap_true
|
||||
RAISING
|
||||
zcx_excel .
|
||||
METHODS set_row_index
|
||||
IMPORTING
|
||||
!ip_index TYPE int4 .
|
||||
METHODS set_visible
|
||||
IMPORTING
|
||||
!ip_visible TYPE abap_bool .
|
||||
METHODS set_xf_index
|
||||
IMPORTING
|
||||
!ip_xf_index TYPE int4 .
|
||||
*"* protected components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data ROW_INDEX type INT4 .
|
||||
data ROW_HEIGHT type FLOAT .
|
||||
data VISIBLE type abap_bool .
|
||||
data OUTLINE_LEVEL type INT4 value 0. "#EC NOTEXT . . . . . . . . . " .
|
||||
data COLLAPSED type abap_bool .
|
||||
data XF_INDEX type INT4 .
|
||||
data CUSTOM_HEIGHT type abap_bool .
|
||||
DATA row_index TYPE int4 .
|
||||
DATA row_height TYPE float .
|
||||
DATA visible TYPE abap_bool .
|
||||
DATA outline_level TYPE int4 VALUE 0. "#EC NOTEXT . . . . . . . . . " .
|
||||
DATA collapsed TYPE abap_bool .
|
||||
DATA xf_index TYPE int4 .
|
||||
DATA custom_height TYPE abap_bool .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_ROW IMPLEMENTATION.
|
||||
CLASS zcl_excel_row IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
" Initialise values
|
||||
me->row_index = ip_index.
|
||||
me->row_height = -1.
|
||||
me->visible = abap_true.
|
||||
me->outline_level = 0.
|
||||
me->collapsed = abap_false.
|
||||
METHOD constructor.
|
||||
" Initialise values
|
||||
me->row_index = ip_index.
|
||||
me->row_height = -1.
|
||||
me->visible = abap_true.
|
||||
me->outline_level = 0.
|
||||
me->collapsed = abap_false.
|
||||
|
||||
" set row dimension as unformatted by default
|
||||
me->xf_index = 0.
|
||||
me->custom_height = abap_false.
|
||||
endmethod.
|
||||
" set row dimension as unformatted by default
|
||||
me->xf_index = 0.
|
||||
me->custom_height = abap_false.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD GET_COLLAPSED.
|
||||
METHOD get_collapsed.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
lv_previous_row TYPE i,
|
||||
lv_following_row TYPE i.
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
lv_previous_row TYPE i,
|
||||
lv_following_row TYPE i.
|
||||
|
||||
r_collapsed = me->collapsed.
|
||||
r_collapsed = me->collapsed.
|
||||
|
||||
CHECK r_collapsed = abap_false. " Maybe new method for outlines is being used
|
||||
CHECK io_worksheet IS BOUND.
|
||||
CHECK r_collapsed = abap_false. " Maybe new method for outlines is being used
|
||||
CHECK io_worksheet IS BOUND.
|
||||
|
||||
* If an outline is collapsed ( even inside an outer outline ) the line following the last line
|
||||
* of the group gets the flag "collapsed"
|
||||
IF io_worksheet->zif_excel_sheet_properties~summarybelow = zif_excel_sheet_properties=>c_below_off.
|
||||
lv_following_row = me->row_index + 1.
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_from = lv_following_row " first line of an outline
|
||||
collapsed = abap_true. " that is collapsed
|
||||
ELSE.
|
||||
lv_previous_row = me->row_index - 1.
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_to = lv_previous_row " last line of an outline
|
||||
collapsed = abap_true. " that is collapsed
|
||||
ENDIF.
|
||||
CHECK sy-subrc = 0. " ok - we found it
|
||||
r_collapsed = abap_true.
|
||||
IF io_worksheet->zif_excel_sheet_properties~summarybelow = zif_excel_sheet_properties=>c_below_off.
|
||||
lv_following_row = me->row_index + 1.
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_from = lv_following_row " first line of an outline
|
||||
collapsed = abap_true. " that is collapsed
|
||||
ELSE.
|
||||
lv_previous_row = me->row_index - 1.
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_to = lv_previous_row " last line of an outline
|
||||
collapsed = abap_true. " that is collapsed
|
||||
ENDIF.
|
||||
CHECK sy-subrc = 0. " ok - we found it
|
||||
r_collapsed = abap_true.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD GET_OUTLINE_LEVEL.
|
||||
METHOD get_outline_level.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
||||
|
||||
* if someone has set the outline level explicitly - just use that
|
||||
IF me->outline_level IS NOT INITIAL.
|
||||
r_outline_level = me->outline_level.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF me->outline_level IS NOT INITIAL.
|
||||
r_outline_level = me->outline_level.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
* Maybe we can use the outline information in the worksheet
|
||||
CHECK io_worksheet IS BOUND.
|
||||
CHECK io_worksheet IS BOUND.
|
||||
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index.
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index.
|
||||
|
||||
ADD 1 TO r_outline_level.
|
||||
ADD 1 TO r_outline_level.
|
||||
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ROW_HEIGHT.
|
||||
r_row_height = me->row_height.
|
||||
endmethod.
|
||||
METHOD get_row_height.
|
||||
r_row_height = me->row_height.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD GET_CUSTOM_HEIGHT.
|
||||
METHOD get_custom_height.
|
||||
r_custom_height = me->custom_height.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_ROW_INDEX.
|
||||
r_row_index = me->row_index.
|
||||
endmethod.
|
||||
METHOD get_row_index.
|
||||
r_row_index = me->row_index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD GET_VISIBLE.
|
||||
METHOD get_visible.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
||||
|
||||
r_visible = me->visible.
|
||||
CHECK r_visible = abap_true. " Currently visible --> but maybe the new outline methodology will hide it implicitly
|
||||
CHECK io_worksheet IS BOUND. " But we have to see the worksheet to make sure
|
||||
r_visible = me->visible.
|
||||
CHECK r_visible = abap_true. " Currently visible --> but maybe the new outline methodology will hide it implicitly
|
||||
CHECK io_worksheet IS BOUND. " But we have to see the worksheet to make sure
|
||||
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index
|
||||
AND collapsed = abap_true. " row is in a collapsed outline --> not visible
|
||||
CLEAR r_visible.
|
||||
RETURN. " one hit is enough to ensure invisibility
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index
|
||||
AND collapsed = abap_true. " row is in a collapsed outline --> not visible
|
||||
CLEAR r_visible.
|
||||
RETURN. " one hit is enough to ensure invisibility
|
||||
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_XF_INDEX.
|
||||
r_xf_index = me->xf_index.
|
||||
endmethod.
|
||||
METHOD get_xf_index.
|
||||
r_xf_index = me->xf_index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_COLLAPSED.
|
||||
me->collapsed = ip_collapsed.
|
||||
endmethod.
|
||||
METHOD set_collapsed.
|
||||
me->collapsed = ip_collapsed.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_OUTLINE_LEVEL.
|
||||
IF ip_outline_level < 0
|
||||
OR ip_outline_level > 7.
|
||||
METHOD set_outline_level.
|
||||
IF ip_outline_level < 0
|
||||
OR ip_outline_level > 7.
|
||||
|
||||
zcx_excel=>raise_text( 'Outline level must range between 0 and 7.' ).
|
||||
zcx_excel=>raise_text( 'Outline level must range between 0 and 7.' ).
|
||||
|
||||
ENDIF.
|
||||
me->outline_level = ip_outline_level.
|
||||
endmethod.
|
||||
ENDIF.
|
||||
me->outline_level = ip_outline_level.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_ROW_HEIGHT.
|
||||
TRY.
|
||||
me->row_height = ip_row_height.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
zcx_excel=>raise_text( 'Unable to interpret ip_row_height as number' ).
|
||||
ENDTRY.
|
||||
me->custom_height = ip_custom_height.
|
||||
endmethod.
|
||||
METHOD set_row_height.
|
||||
TRY.
|
||||
me->row_height = ip_row_height.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
zcx_excel=>raise_text( 'Unable to interpret ip_row_height as number' ).
|
||||
ENDTRY.
|
||||
me->custom_height = ip_custom_height.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_ROW_INDEX.
|
||||
me->row_index = ip_index.
|
||||
endmethod.
|
||||
METHOD set_row_index.
|
||||
me->row_index = ip_index.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_VISIBLE.
|
||||
me->visible = ip_visible.
|
||||
endmethod.
|
||||
METHOD set_visible.
|
||||
me->visible = ip_visible.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_XF_INDEX.
|
||||
me->XF_INDEX = ip_XF_INDEX.
|
||||
endmethod.
|
||||
METHOD set_xf_index.
|
||||
me->xf_index = ip_xf_index.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -3,120 +3,120 @@
|
|||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class ZCL_EXCEL_ROWS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_rows DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_ROWS
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
types:
|
||||
begin of MTY_S_HASHED_ROW,
|
||||
ROW_INDEX type INT4,
|
||||
ROW type ref to ZCL_EXCEL_ROW,
|
||||
end of MTY_S_HASHED_ROW ,
|
||||
MTY_TS_HASEHD_ROW type hashed table of MTY_S_HASHED_ROW with unique key ROW_INDEX.
|
||||
PUBLIC SECTION.
|
||||
TYPES:
|
||||
BEGIN OF mty_s_hashed_row,
|
||||
row_index TYPE int4,
|
||||
row TYPE REF TO zcl_excel_row,
|
||||
END OF mty_s_hashed_row ,
|
||||
mty_ts_hasehd_row TYPE HASHED TABLE OF mty_s_hashed_row WITH UNIQUE KEY row_index.
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IO_ROW type ref to ZCL_EXCEL_ROW .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
returning
|
||||
value(EO_ROW) type ref to ZCL_EXCEL_ROW .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IO_ROW type ref to ZCL_EXCEL_ROW .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
methods GET_MIN_INDEX
|
||||
returning
|
||||
value(EP_INDEX) type I .
|
||||
methods GET_MAX_INDEX
|
||||
returning
|
||||
value(EP_INDEX) type I .
|
||||
protected section.
|
||||
METHODS add
|
||||
IMPORTING
|
||||
!io_row TYPE REF TO zcl_excel_row .
|
||||
METHODS clear .
|
||||
METHODS constructor .
|
||||
METHODS get
|
||||
IMPORTING
|
||||
!ip_index TYPE i
|
||||
RETURNING
|
||||
VALUE(eo_row) TYPE REF TO zcl_excel_row .
|
||||
METHODS get_iterator
|
||||
RETURNING
|
||||
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
|
||||
METHODS is_empty
|
||||
RETURNING
|
||||
VALUE(is_empty) TYPE flag .
|
||||
METHODS remove
|
||||
IMPORTING
|
||||
!io_row TYPE REF TO zcl_excel_row .
|
||||
METHODS size
|
||||
RETURNING
|
||||
VALUE(ep_size) TYPE i .
|
||||
METHODS get_min_index
|
||||
RETURNING
|
||||
VALUE(ep_index) TYPE i .
|
||||
METHODS get_max_index
|
||||
RETURNING
|
||||
VALUE(ep_index) TYPE i .
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZABAP_EXCEL_RANGES
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data ROWS type ref to CL_OBJECT_COLLECTION .
|
||||
data ROWS_HASEHD type MTY_TS_HASEHD_ROW .
|
||||
DATA rows TYPE REF TO cl_object_collection .
|
||||
DATA rows_hasehd TYPE mty_ts_hasehd_row .
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_ROWS IMPLEMENTATION.
|
||||
CLASS zcl_excel_rows IMPLEMENTATION.
|
||||
|
||||
|
||||
method ADD.
|
||||
data: LS_HASHED_ROW type MTY_S_HASHED_ROW.
|
||||
METHOD add.
|
||||
DATA: ls_hashed_row TYPE mty_s_hashed_row.
|
||||
|
||||
LS_HASHED_ROW-ROW_INDEX = IO_ROW->GET_ROW_INDEX( ).
|
||||
LS_HASHED_ROW-ROW = IO_ROW.
|
||||
ls_hashed_row-row_index = io_row->get_row_index( ).
|
||||
ls_hashed_row-row = io_row.
|
||||
|
||||
insert LS_HASHED_ROW into table ROWS_HASEHD.
|
||||
INSERT ls_hashed_row INTO TABLE rows_hasehd.
|
||||
|
||||
ROWS->ADD( IO_ROW ).
|
||||
endmethod. "ADD
|
||||
rows->add( io_row ).
|
||||
ENDMETHOD. "ADD
|
||||
|
||||
|
||||
method CLEAR.
|
||||
clear ROWS_HASEHD.
|
||||
ROWS->CLEAR( ).
|
||||
endmethod. "CLEAR
|
||||
METHOD clear.
|
||||
CLEAR rows_hasehd.
|
||||
rows->clear( ).
|
||||
ENDMETHOD. "CLEAR
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
METHOD constructor.
|
||||
|
||||
create object ROWS.
|
||||
CREATE OBJECT rows.
|
||||
|
||||
endmethod. "CONSTRUCTOR
|
||||
ENDMETHOD. "CONSTRUCTOR
|
||||
|
||||
|
||||
method GET.
|
||||
field-symbols: <LS_HASHED_ROW> type MTY_S_HASHED_ROW.
|
||||
METHOD get.
|
||||
FIELD-SYMBOLS: <ls_hashed_row> TYPE mty_s_hashed_row.
|
||||
|
||||
read table ROWS_HASEHD with key ROW_INDEX = IP_INDEX assigning <LS_HASHED_ROW>.
|
||||
if SY-SUBRC = 0.
|
||||
EO_ROW = <LS_HASHED_ROW>-ROW.
|
||||
endif.
|
||||
endmethod. "GET
|
||||
READ TABLE rows_hasehd WITH KEY row_index = ip_index ASSIGNING <ls_hashed_row>.
|
||||
IF sy-subrc = 0.
|
||||
eo_row = <ls_hashed_row>-row.
|
||||
ENDIF.
|
||||
ENDMETHOD. "GET
|
||||
|
||||
|
||||
method GET_ITERATOR.
|
||||
EO_ITERATOR ?= ROWS->GET_ITERATOR( ).
|
||||
endmethod. "GET_ITERATOR
|
||||
METHOD get_iterator.
|
||||
eo_iterator ?= rows->get_iterator( ).
|
||||
ENDMETHOD. "GET_ITERATOR
|
||||
|
||||
|
||||
method IS_EMPTY.
|
||||
IS_EMPTY = ROWS->IS_EMPTY( ).
|
||||
endmethod. "IS_EMPTY
|
||||
METHOD is_empty.
|
||||
is_empty = rows->is_empty( ).
|
||||
ENDMETHOD. "IS_EMPTY
|
||||
|
||||
|
||||
method REMOVE.
|
||||
delete table ROWS_HASEHD with table key ROW_INDEX = IO_ROW->GET_ROW_INDEX( ) .
|
||||
ROWS->REMOVE( IO_ROW ).
|
||||
endmethod. "REMOVE
|
||||
METHOD remove.
|
||||
DELETE TABLE rows_hasehd WITH TABLE KEY row_index = io_row->get_row_index( ) .
|
||||
rows->remove( io_row ).
|
||||
ENDMETHOD. "REMOVE
|
||||
|
||||
|
||||
method SIZE.
|
||||
EP_SIZE = ROWS->SIZE( ).
|
||||
endmethod. "SIZE
|
||||
METHOD size.
|
||||
ep_size = rows->size( ).
|
||||
ENDMETHOD. "SIZE
|
||||
|
||||
METHOD get_min_index.
|
||||
FIELD-SYMBOLS: <ls_hashed_row> TYPE mty_s_hashed_row.
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
class ZCL_EXCEL_SECURITY definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_security DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_SECURITY
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
data LOCKREVISION type FLAG .
|
||||
data LOCKSTRUCTURE type FLAG .
|
||||
data LOCKWINDOWS type FLAG .
|
||||
data REVISIONSPASSWORD type ZEXCEL_REVISIONSPASSWORD .
|
||||
data WORKBOOKPASSWORD type ZEXCEL_WORKBOOKPASSWORD .
|
||||
DATA lockrevision TYPE flag .
|
||||
DATA lockstructure TYPE flag .
|
||||
DATA lockwindows TYPE flag .
|
||||
DATA revisionspassword TYPE zexcel_revisionspassword .
|
||||
DATA workbookpassword TYPE zexcel_workbookpassword .
|
||||
|
||||
methods IS_SECURITY_ENABLED
|
||||
returning
|
||||
value(EP_SECURITY_ENABLED) type FLAG .
|
||||
METHODS is_security_enabled
|
||||
RETURNING
|
||||
VALUE(ep_security_enabled) TYPE flag .
|
||||
*"* protected components of class ZABAP_EXCEL_SECURITY
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_SECURITY
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZABAP_EXCEL_SECURITY
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_SECURITY IMPLEMENTATION.
|
||||
CLASS zcl_excel_security IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD is_security_enabled.
|
||||
IF lockrevision EQ abap_true OR lockstructure EQ abap_true OR lockwindows EQ abap_true.
|
||||
ep_security_enabled = abap_true.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
METHOD is_security_enabled.
|
||||
IF lockrevision EQ abap_true OR lockstructure EQ abap_true OR lockwindows EQ abap_true.
|
||||
ep_security_enabled = abap_true.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,210 +1,210 @@
|
|||
class ZCL_EXCEL_SHEET_SETUP definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_sheet_setup DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
*"* public components of class ZCL_EXCEL_SHEET_SETUP
|
||||
*"* do not include other source files here!!!
|
||||
type-pools ABAP .
|
||||
TYPE-POOLS abap .
|
||||
|
||||
data BLACK_AND_WHITE type FLAG .
|
||||
data CELL_COMMENTS type STRINGVAL .
|
||||
data COPIES type INT2 .
|
||||
constants C_BREAK_COLUMN type ZEXCEL_BREAK value 2. "#EC NOTEXT
|
||||
constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT
|
||||
constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT
|
||||
constants C_CC_AS_DISPLAYED type STRING value 'asDisplayed'. "#EC NOTEXT
|
||||
constants C_CC_AT_END type STRING value 'atEnd'. "#EC NOTEXT
|
||||
constants C_CC_NONE type STRING value 'none'. "#EC NOTEXT
|
||||
constants C_ORD_DOWNTHENOVER type STRING value 'downThenOver'. "#EC NOTEXT
|
||||
constants C_ORD_OVERTHENDOWN type STRING value 'overThenDown'. "#EC NOTEXT
|
||||
constants C_ORIENTATION_DEFAULT type ZEXCEL_SHEET_ORIENATATION value 'default'. "#EC NOTEXT
|
||||
constants C_ORIENTATION_LANDSCAPE type ZEXCEL_SHEET_ORIENATATION value 'landscape'. "#EC NOTEXT
|
||||
constants C_ORIENTATION_PORTRAIT type ZEXCEL_SHEET_ORIENATATION value 'portrait'. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_6_3_4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 38. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A2_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 64. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A3 type ZEXCEL_SHEET_PAPER_SIZE value 8. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A3_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 61. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A3_EXTRA_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 66. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A3_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 65. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A4 type ZEXCEL_SHEET_PAPER_SIZE value 9. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A4_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 51. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A4_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 58. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A4_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 10. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A4_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 53. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A5 type ZEXCEL_SHEET_PAPER_SIZE value 11. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 62. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_A5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 59. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_B4 type ZEXCEL_SHEET_PAPER_SIZE value 12. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_B4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 33. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_B5 type ZEXCEL_SHEET_PAPER_SIZE value 13. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_B5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 34. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_B6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 35. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C type ZEXCEL_SHEET_PAPER_SIZE value 24. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C3_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 29. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 30. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 28. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C65_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 32. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_C6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 31. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_D type ZEXCEL_SHEET_PAPER_SIZE value 25. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_DE_LEG_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 41. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_DE_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 40. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_DL_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 27. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_E type ZEXCEL_SHEET_PAPER_SIZE value 26. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_EXECUTIVE type ZEXCEL_SHEET_PAPER_SIZE value 7. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_FOLIO type ZEXCEL_SHEET_PAPER_SIZE value 14. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_INVITE_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 47. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_ISO_B4 type ZEXCEL_SHEET_PAPER_SIZE value 42. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_ISO_B5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 63. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_ITALY_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 36. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_JIS_B5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 60. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_JPN_DBL_POSTCARD type ZEXCEL_SHEET_PAPER_SIZE value 43. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LEDGER type ZEXCEL_SHEET_PAPER_SIZE value 4. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LEGAL type ZEXCEL_SHEET_PAPER_SIZE value 5. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LEGAL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 49. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER type ZEXCEL_SHEET_PAPER_SIZE value 1. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 48. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER_EXTV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 54. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 57. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 2. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_LETTER_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 52. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_MONARCH_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 37. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NO10_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 20. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NO11_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 21. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NO12_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 22. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NO14_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 23. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NO9_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 19. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_NOTE type ZEXCEL_SHEET_PAPER_SIZE value 18. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_QUARTO type ZEXCEL_SHEET_PAPER_SIZE value 15. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STANDARD_1 type ZEXCEL_SHEET_PAPER_SIZE value 16. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STANDARD_2 type ZEXCEL_SHEET_PAPER_SIZE value 17. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STANDARD_PAPER_1 type ZEXCEL_SHEET_PAPER_SIZE value 44. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STANDARD_PAPER_2 type ZEXCEL_SHEET_PAPER_SIZE value 45. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STANDARD_PAPER_3 type ZEXCEL_SHEET_PAPER_SIZE value 46. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_STATEMENT type ZEXCEL_SHEET_PAPER_SIZE value 6. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_SUPERA_A4_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 55. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_SUPERB_A3_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 56. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_TABLOID type ZEXCEL_SHEET_PAPER_SIZE value 3. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_TABL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 50. "#EC NOTEXT
|
||||
constants C_PAPERSIZE_US_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 39. "#EC NOTEXT
|
||||
constants C_PE_BLANK type STRING value 'blank'. "#EC NOTEXT
|
||||
constants C_PE_DASH type STRING value 'dash'. "#EC NOTEXT
|
||||
constants C_PE_DISPLAYED type STRING value 'displayed'. "#EC NOTEXT
|
||||
constants C_PE_NA type STRING value 'NA'. "#EC NOTEXT
|
||||
data DIFF_ODDEVEN_HEADERFOOTER type FLAG .
|
||||
data DRAFT type FLAG .
|
||||
data ERRORS type STRINGVAL .
|
||||
data EVEN_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT .
|
||||
data EVEN_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT .
|
||||
data FIRST_PAGE_NUMBER type INT2 .
|
||||
data FIT_TO_HEIGHT type INT2 .
|
||||
data FIT_TO_PAGE type FLAG .
|
||||
data FIT_TO_WIDTH type INT2 .
|
||||
data HORIZONTAL_CENTERED type FLAG .
|
||||
data HORIZONTAL_DPI type INT2 .
|
||||
data MARGIN_BOTTOM type ZEXCEL_DEC_8_2 .
|
||||
data MARGIN_FOOTER type ZEXCEL_DEC_8_2 .
|
||||
data MARGIN_HEADER type ZEXCEL_DEC_8_2 .
|
||||
data MARGIN_LEFT type ZEXCEL_DEC_8_2 .
|
||||
data MARGIN_RIGHT type ZEXCEL_DEC_8_2 .
|
||||
data MARGIN_TOP type ZEXCEL_DEC_8_2 .
|
||||
data ODD_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT .
|
||||
data ODD_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT .
|
||||
data ORIENTATION type ZEXCEL_SHEET_ORIENATATION .
|
||||
data PAGE_ORDER type STRING .
|
||||
data PAPER_HEIGHT type STRING .
|
||||
data PAPER_SIZE type INT2 .
|
||||
data PAPER_WIDTH type STRING .
|
||||
data SCALE type INT2 .
|
||||
data USE_FIRST_PAGE_NUM type FLAG .
|
||||
data USE_PRINTER_DEFAULTS type FLAG .
|
||||
data VERTICAL_CENTERED type FLAG .
|
||||
data VERTICAL_DPI type INT2 .
|
||||
DATA black_and_white TYPE flag .
|
||||
DATA cell_comments TYPE stringval .
|
||||
DATA copies TYPE int2 .
|
||||
CONSTANTS c_break_column TYPE zexcel_break VALUE 2. "#EC NOTEXT
|
||||
CONSTANTS c_break_none TYPE zexcel_break VALUE 0. "#EC NOTEXT
|
||||
CONSTANTS c_break_row TYPE zexcel_break VALUE 1. "#EC NOTEXT
|
||||
CONSTANTS c_cc_as_displayed TYPE string VALUE 'asDisplayed'. "#EC NOTEXT
|
||||
CONSTANTS c_cc_at_end TYPE string VALUE 'atEnd'. "#EC NOTEXT
|
||||
CONSTANTS c_cc_none TYPE string VALUE 'none'. "#EC NOTEXT
|
||||
CONSTANTS c_ord_downthenover TYPE string VALUE 'downThenOver'. "#EC NOTEXT
|
||||
CONSTANTS c_ord_overthendown TYPE string VALUE 'overThenDown'. "#EC NOTEXT
|
||||
CONSTANTS c_orientation_default TYPE zexcel_sheet_orienatation VALUE 'default'. "#EC NOTEXT
|
||||
CONSTANTS c_orientation_landscape TYPE zexcel_sheet_orienatation VALUE 'landscape'. "#EC NOTEXT
|
||||
CONSTANTS c_orientation_portrait TYPE zexcel_sheet_orienatation VALUE 'portrait'. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_6_3_4_envelope TYPE zexcel_sheet_paper_size VALUE 38. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a2_paper TYPE zexcel_sheet_paper_size VALUE 64. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a3 TYPE zexcel_sheet_paper_size VALUE 8. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a3_extra_paper TYPE zexcel_sheet_paper_size VALUE 61. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a3_extra_tv_paper TYPE zexcel_sheet_paper_size VALUE 66. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a3_tv_paper TYPE zexcel_sheet_paper_size VALUE 65. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a4 TYPE zexcel_sheet_paper_size VALUE 9. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a4_extra_paper TYPE zexcel_sheet_paper_size VALUE 51. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a4_plus_paper TYPE zexcel_sheet_paper_size VALUE 58. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a4_small TYPE zexcel_sheet_paper_size VALUE 10. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a4_tv_paper TYPE zexcel_sheet_paper_size VALUE 53. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a5 TYPE zexcel_sheet_paper_size VALUE 11. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a5_extra_paper TYPE zexcel_sheet_paper_size VALUE 62. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_a5_tv_paper TYPE zexcel_sheet_paper_size VALUE 59. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_b4 TYPE zexcel_sheet_paper_size VALUE 12. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_b4_envelope TYPE zexcel_sheet_paper_size VALUE 33. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_b5 TYPE zexcel_sheet_paper_size VALUE 13. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_b5_envelope TYPE zexcel_sheet_paper_size VALUE 34. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_b6_envelope TYPE zexcel_sheet_paper_size VALUE 35. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c TYPE zexcel_sheet_paper_size VALUE 24. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c3_envelope TYPE zexcel_sheet_paper_size VALUE 29. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c4_envelope TYPE zexcel_sheet_paper_size VALUE 30. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c5_envelope TYPE zexcel_sheet_paper_size VALUE 28. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c65_envelope TYPE zexcel_sheet_paper_size VALUE 32. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_c6_envelope TYPE zexcel_sheet_paper_size VALUE 31. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_d TYPE zexcel_sheet_paper_size VALUE 25. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_de_leg_fanfold TYPE zexcel_sheet_paper_size VALUE 41. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_de_std_fanfold TYPE zexcel_sheet_paper_size VALUE 40. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_dl_envelope TYPE zexcel_sheet_paper_size VALUE 27. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_e TYPE zexcel_sheet_paper_size VALUE 26. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_executive TYPE zexcel_sheet_paper_size VALUE 7. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_folio TYPE zexcel_sheet_paper_size VALUE 14. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_invite_envelope TYPE zexcel_sheet_paper_size VALUE 47. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_iso_b4 TYPE zexcel_sheet_paper_size VALUE 42. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_iso_b5_extra_paper TYPE zexcel_sheet_paper_size VALUE 63. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_italy_envelope TYPE zexcel_sheet_paper_size VALUE 36. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_jis_b5_tv_paper TYPE zexcel_sheet_paper_size VALUE 60. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_jpn_dbl_postcard TYPE zexcel_sheet_paper_size VALUE 43. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_ledger TYPE zexcel_sheet_paper_size VALUE 4. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_legal TYPE zexcel_sheet_paper_size VALUE 5. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_legal_extra_paper TYPE zexcel_sheet_paper_size VALUE 49. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter TYPE zexcel_sheet_paper_size VALUE 1. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter_extra_paper TYPE zexcel_sheet_paper_size VALUE 48. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter_extv_paper TYPE zexcel_sheet_paper_size VALUE 54. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter_plus_paper TYPE zexcel_sheet_paper_size VALUE 57. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter_small TYPE zexcel_sheet_paper_size VALUE 2. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_letter_tv_paper TYPE zexcel_sheet_paper_size VALUE 52. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_monarch_envelope TYPE zexcel_sheet_paper_size VALUE 37. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_no10_envelope TYPE zexcel_sheet_paper_size VALUE 20. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_no11_envelope TYPE zexcel_sheet_paper_size VALUE 21. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_no12_envelope TYPE zexcel_sheet_paper_size VALUE 22. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_no14_envelope TYPE zexcel_sheet_paper_size VALUE 23. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_no9_envelope TYPE zexcel_sheet_paper_size VALUE 19. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_note TYPE zexcel_sheet_paper_size VALUE 18. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_quarto TYPE zexcel_sheet_paper_size VALUE 15. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_standard_1 TYPE zexcel_sheet_paper_size VALUE 16. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_standard_2 TYPE zexcel_sheet_paper_size VALUE 17. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_standard_paper_1 TYPE zexcel_sheet_paper_size VALUE 44. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_standard_paper_2 TYPE zexcel_sheet_paper_size VALUE 45. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_standard_paper_3 TYPE zexcel_sheet_paper_size VALUE 46. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_statement TYPE zexcel_sheet_paper_size VALUE 6. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_supera_a4_paper TYPE zexcel_sheet_paper_size VALUE 55. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_superb_a3_paper TYPE zexcel_sheet_paper_size VALUE 56. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_tabloid TYPE zexcel_sheet_paper_size VALUE 3. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_tabl_extra_paper TYPE zexcel_sheet_paper_size VALUE 50. "#EC NOTEXT
|
||||
CONSTANTS c_papersize_us_std_fanfold TYPE zexcel_sheet_paper_size VALUE 39. "#EC NOTEXT
|
||||
CONSTANTS c_pe_blank TYPE string VALUE 'blank'. "#EC NOTEXT
|
||||
CONSTANTS c_pe_dash TYPE string VALUE 'dash'. "#EC NOTEXT
|
||||
CONSTANTS c_pe_displayed TYPE string VALUE 'displayed'. "#EC NOTEXT
|
||||
CONSTANTS c_pe_na TYPE string VALUE 'NA'. "#EC NOTEXT
|
||||
DATA diff_oddeven_headerfooter TYPE flag .
|
||||
DATA draft TYPE flag .
|
||||
DATA errors TYPE stringval .
|
||||
DATA even_footer TYPE zexcel_s_worksheet_head_foot .
|
||||
DATA even_header TYPE zexcel_s_worksheet_head_foot .
|
||||
DATA first_page_number TYPE int2 .
|
||||
DATA fit_to_height TYPE int2 .
|
||||
DATA fit_to_page TYPE flag .
|
||||
DATA fit_to_width TYPE int2 .
|
||||
DATA horizontal_centered TYPE flag .
|
||||
DATA horizontal_dpi TYPE int2 .
|
||||
DATA margin_bottom TYPE zexcel_dec_8_2 .
|
||||
DATA margin_footer TYPE zexcel_dec_8_2 .
|
||||
DATA margin_header TYPE zexcel_dec_8_2 .
|
||||
DATA margin_left TYPE zexcel_dec_8_2 .
|
||||
DATA margin_right TYPE zexcel_dec_8_2 .
|
||||
DATA margin_top TYPE zexcel_dec_8_2 .
|
||||
DATA odd_footer TYPE zexcel_s_worksheet_head_foot .
|
||||
DATA odd_header TYPE zexcel_s_worksheet_head_foot .
|
||||
DATA orientation TYPE zexcel_sheet_orienatation .
|
||||
DATA page_order TYPE string .
|
||||
DATA paper_height TYPE string .
|
||||
DATA paper_size TYPE int2 .
|
||||
DATA paper_width TYPE string .
|
||||
DATA scale TYPE int2 .
|
||||
DATA use_first_page_num TYPE flag .
|
||||
DATA use_printer_defaults TYPE flag .
|
||||
DATA vertical_centered TYPE flag .
|
||||
DATA vertical_dpi TYPE int2 .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
methods SET_PAGE_MARGINS
|
||||
importing
|
||||
!IP_BOTTOM type FLOAT optional
|
||||
!IP_FOOTER type FLOAT optional
|
||||
!IP_HEADER type FLOAT optional
|
||||
!IP_LEFT type FLOAT optional
|
||||
!IP_RIGHT type FLOAT optional
|
||||
!IP_TOP type FLOAT optional
|
||||
!IP_UNIT type CSEQUENCE default 'in' .
|
||||
methods SET_HEADER_FOOTER
|
||||
importing
|
||||
!IP_ODD_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT optional
|
||||
!IP_ODD_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT optional
|
||||
!IP_EVEN_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT optional
|
||||
!IP_EVEN_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT optional .
|
||||
methods GET_HEADER_FOOTER_STRING
|
||||
exporting
|
||||
!EP_ODD_HEADER type STRING
|
||||
!EP_ODD_FOOTER type STRING
|
||||
!EP_EVEN_HEADER type STRING
|
||||
!EP_EVEN_FOOTER type STRING .
|
||||
methods GET_HEADER_FOOTER
|
||||
exporting
|
||||
!EP_ODD_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT
|
||||
!EP_ODD_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT
|
||||
!EP_EVEN_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT
|
||||
!EP_EVEN_FOOTER type ZEXCEL_S_WORKSHEET_HEAD_FOOT .
|
||||
protected section.
|
||||
METHODS constructor .
|
||||
METHODS set_page_margins
|
||||
IMPORTING
|
||||
!ip_bottom TYPE float OPTIONAL
|
||||
!ip_footer TYPE float OPTIONAL
|
||||
!ip_header TYPE float OPTIONAL
|
||||
!ip_left TYPE float OPTIONAL
|
||||
!ip_right TYPE float OPTIONAL
|
||||
!ip_top TYPE float OPTIONAL
|
||||
!ip_unit TYPE csequence DEFAULT 'in' .
|
||||
METHODS set_header_footer
|
||||
IMPORTING
|
||||
!ip_odd_header TYPE zexcel_s_worksheet_head_foot OPTIONAL
|
||||
!ip_odd_footer TYPE zexcel_s_worksheet_head_foot OPTIONAL
|
||||
!ip_even_header TYPE zexcel_s_worksheet_head_foot OPTIONAL
|
||||
!ip_even_footer TYPE zexcel_s_worksheet_head_foot OPTIONAL .
|
||||
METHODS get_header_footer_string
|
||||
EXPORTING
|
||||
!ep_odd_header TYPE string
|
||||
!ep_odd_footer TYPE string
|
||||
!ep_even_header TYPE string
|
||||
!ep_even_footer TYPE string .
|
||||
METHODS get_header_footer
|
||||
EXPORTING
|
||||
!ep_odd_header TYPE zexcel_s_worksheet_head_foot
|
||||
!ep_odd_footer TYPE zexcel_s_worksheet_head_foot
|
||||
!ep_even_header TYPE zexcel_s_worksheet_head_foot
|
||||
!ep_even_footer TYPE zexcel_s_worksheet_head_foot .
|
||||
PROTECTED SECTION.
|
||||
|
||||
*"* protected components of class ZCL_EXCEL_SHEET_SETUP
|
||||
*"* do not include other source files here!!!
|
||||
methods PROCESS_HEADER_FOOTER
|
||||
importing
|
||||
!IP_HEADER type ZEXCEL_S_WORKSHEET_HEAD_FOOT
|
||||
!IP_SIDE type STRING
|
||||
returning
|
||||
value(RV_PROCESSED_STRING) type STRING .
|
||||
private section.
|
||||
METHODS process_header_footer
|
||||
IMPORTING
|
||||
!ip_header TYPE zexcel_s_worksheet_head_foot
|
||||
!ip_side TYPE string
|
||||
RETURNING
|
||||
VALUE(rv_processed_string) TYPE string .
|
||||
PRIVATE SECTION.
|
||||
*"* private components of class ZCL_EXCEL_SHEET_SETUP
|
||||
*"* do not include other source files here!!!
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_SHEET_SETUP IMPLEMENTATION.
|
||||
CLASS zcl_excel_sheet_setup IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
orientation = me->c_orientation_default.
|
||||
METHOD constructor.
|
||||
orientation = me->c_orientation_default.
|
||||
|
||||
* default margins
|
||||
margin_bottom = '0.75'.
|
||||
margin_footer = '0.3'.
|
||||
margin_header = '0.3'.
|
||||
margin_left = '0.7'.
|
||||
margin_right = '0.7'.
|
||||
margin_top = '0.75'.
|
||||
margin_bottom = '0.75'.
|
||||
margin_footer = '0.3'.
|
||||
margin_header = '0.3'.
|
||||
margin_left = '0.7'.
|
||||
margin_right = '0.7'.
|
||||
margin_top = '0.75'.
|
||||
|
||||
* clear page settings
|
||||
CLEAR: black_and_white,
|
||||
cell_comments,
|
||||
copies,
|
||||
draft,
|
||||
errors,
|
||||
first_page_number,
|
||||
fit_to_page,
|
||||
fit_to_height,
|
||||
fit_to_width,
|
||||
horizontal_dpi,
|
||||
orientation,
|
||||
page_order,
|
||||
paper_height,
|
||||
paper_size,
|
||||
paper_width,
|
||||
scale,
|
||||
use_first_page_num,
|
||||
use_printer_defaults,
|
||||
vertical_dpi.
|
||||
endmethod.
|
||||
CLEAR: black_and_white,
|
||||
cell_comments,
|
||||
copies,
|
||||
draft,
|
||||
errors,
|
||||
first_page_number,
|
||||
fit_to_page,
|
||||
fit_to_height,
|
||||
fit_to_width,
|
||||
horizontal_dpi,
|
||||
orientation,
|
||||
page_order,
|
||||
paper_height,
|
||||
paper_size,
|
||||
paper_width,
|
||||
scale,
|
||||
use_first_page_num,
|
||||
use_printer_defaults,
|
||||
vertical_dpi.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_header_footer.
|
||||
METHOD get_header_footer.
|
||||
|
||||
* Only Basic font/text formatting possible:
|
||||
* Bold (yes / no), Font Type, Font Size
|
||||
|
@ -223,207 +223,207 @@ METHOD get_header_footer.
|
|||
*
|
||||
* DO NOT USE &L , &C or &R which automatically created as position markers
|
||||
|
||||
ep_odd_header = me->odd_header.
|
||||
ep_odd_footer = me->odd_footer.
|
||||
ep_even_header = me->even_header.
|
||||
ep_even_footer = me->even_footer.
|
||||
ep_odd_header = me->odd_header.
|
||||
ep_odd_footer = me->odd_footer.
|
||||
ep_even_header = me->even_header.
|
||||
ep_even_footer = me->even_footer.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_header_footer_string.
|
||||
METHOD get_header_footer_string.
|
||||
* ----------------------------------------------------------------------
|
||||
DATA: lc_marker_left(2) TYPE c VALUE '&L'
|
||||
, lc_marker_right(2) TYPE c VALUE '&R'
|
||||
, lc_marker_center(2) TYPE c VALUE '&C'
|
||||
, lv_value TYPE string
|
||||
.
|
||||
DATA: lc_marker_left(2) TYPE c VALUE '&L'
|
||||
, lc_marker_right(2) TYPE c VALUE '&R'
|
||||
, lc_marker_center(2) TYPE c VALUE '&C'
|
||||
, lv_value TYPE string
|
||||
.
|
||||
* ----------------------------------------------------------------------
|
||||
IF ep_odd_header IS SUPPLIED.
|
||||
IF ep_odd_header IS SUPPLIED.
|
||||
|
||||
IF me->odd_header-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_header-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_header-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_header ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_header-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
IF me->odd_header-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_header.
|
||||
ENDIF.
|
||||
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
* ----------------------------------------------------------------------
|
||||
IF ep_odd_footer IS SUPPLIED.
|
||||
IF ep_odd_footer IS SUPPLIED.
|
||||
|
||||
IF me->odd_footer-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_footer-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_odd_footer lc_marker_center lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_odd_footer lc_marker_center lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_footer-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_odd_footer lc_marker_right lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->odd_footer ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_odd_footer lc_marker_right lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->odd_footer-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
IF me->odd_footer-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_odd_footer.
|
||||
ENDIF.
|
||||
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
* ----------------------------------------------------------------------
|
||||
IF ep_even_header IS SUPPLIED.
|
||||
IF ep_even_header IS SUPPLIED.
|
||||
|
||||
IF me->even_header-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_header-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_even_header lc_marker_center lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_even_header lc_marker_center lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_header-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_even_header lc_marker_right lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_header ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_even_header lc_marker_right lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_header-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
IF me->even_header-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_even_header.
|
||||
ENDIF.
|
||||
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
* ----------------------------------------------------------------------
|
||||
IF ep_even_footer IS SUPPLIED.
|
||||
IF ep_even_footer IS SUPPLIED.
|
||||
|
||||
IF me->even_footer-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-left_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'LEFT' ).
|
||||
CONCATENATE lc_marker_left lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_footer-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_even_footer lc_marker_center lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-center_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'CENTER' ).
|
||||
CONCATENATE ep_even_footer lc_marker_center lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_footer-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_even_footer lc_marker_right lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-right_value IS NOT INITIAL.
|
||||
lv_value = me->process_header_footer( ip_header = me->even_footer ip_side = 'RIGHT' ).
|
||||
CONCATENATE ep_even_footer lc_marker_right lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
|
||||
IF me->even_footer-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-left_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_left lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-center_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_center lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
IF me->even_footer-right_image IS NOT INITIAL.
|
||||
lv_value = '&G'.
|
||||
CONCATENATE ep_odd_header lc_marker_right lv_value INTO ep_even_footer.
|
||||
ENDIF.
|
||||
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
* ----------------------------------------------------------------------
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD process_header_footer.
|
||||
METHOD process_header_footer.
|
||||
|
||||
* ----------------------------------------------------------------------
|
||||
* Only Basic font/text formatting possible:
|
||||
* Bold (yes / no), Font Type, Font Size
|
||||
|
||||
DATA: lv_fname(12) TYPE c
|
||||
, lv_string TYPE string
|
||||
.
|
||||
DATA: lv_fname(12) TYPE c
|
||||
, lv_string TYPE string
|
||||
.
|
||||
|
||||
FIELD-SYMBOLS: <lv_value> TYPE string
|
||||
, <ls_font> TYPE zexcel_s_style_font
|
||||
.
|
||||
FIELD-SYMBOLS: <lv_value> TYPE string
|
||||
, <ls_font> TYPE zexcel_s_style_font
|
||||
.
|
||||
|
||||
* ----------------------------------------------------------------------
|
||||
CONCATENATE ip_side '_VALUE' INTO lv_fname.
|
||||
ASSIGN COMPONENT lv_fname OF STRUCTURE ip_header TO <lv_value>.
|
||||
CONCATENATE ip_side '_VALUE' INTO lv_fname.
|
||||
ASSIGN COMPONENT lv_fname OF STRUCTURE ip_header TO <lv_value>.
|
||||
|
||||
CONCATENATE ip_side '_FONT' INTO lv_fname.
|
||||
ASSIGN COMPONENT lv_fname OF STRUCTURE ip_header TO <ls_font>.
|
||||
CONCATENATE ip_side '_FONT' INTO lv_fname.
|
||||
ASSIGN COMPONENT lv_fname OF STRUCTURE ip_header TO <ls_font>.
|
||||
|
||||
IF <ls_font> IS ASSIGNED AND <lv_value> IS ASSIGNED.
|
||||
IF <ls_font> IS ASSIGNED AND <lv_value> IS ASSIGNED.
|
||||
|
||||
IF <lv_value> = '&G'. "image header
|
||||
rv_processed_string = <lv_value>.
|
||||
ELSE.
|
||||
|
||||
IF <ls_font>-name IS NOT INITIAL.
|
||||
CONCATENATE '&"' <ls_font>-name ',' INTO rv_processed_string.
|
||||
IF <lv_value> = '&G'. "image header
|
||||
rv_processed_string = <lv_value>.
|
||||
ELSE.
|
||||
rv_processed_string = '&"-,'.
|
||||
ENDIF.
|
||||
|
||||
IF <ls_font>-bold = abap_true.
|
||||
CONCATENATE rv_processed_string 'Bold"' INTO rv_processed_string.
|
||||
ELSE.
|
||||
CONCATENATE rv_processed_string 'Standard"' INTO rv_processed_string.
|
||||
ENDIF.
|
||||
IF <ls_font>-name IS NOT INITIAL.
|
||||
CONCATENATE '&"' <ls_font>-name ',' INTO rv_processed_string.
|
||||
ELSE.
|
||||
rv_processed_string = '&"-,'.
|
||||
ENDIF.
|
||||
|
||||
IF <ls_font>-size IS NOT INITIAL.
|
||||
lv_string = <ls_font>-size.
|
||||
CONCATENATE rv_processed_string '&' lv_string INTO rv_processed_string.
|
||||
CONDENSE rv_processed_string NO-GAPS.
|
||||
ENDIF.
|
||||
IF <ls_font>-bold = abap_true.
|
||||
CONCATENATE rv_processed_string 'Bold"' INTO rv_processed_string.
|
||||
ELSE.
|
||||
CONCATENATE rv_processed_string 'Standard"' INTO rv_processed_string.
|
||||
ENDIF.
|
||||
|
||||
CONCATENATE rv_processed_string <lv_value> INTO rv_processed_string.
|
||||
IF <ls_font>-size IS NOT INITIAL.
|
||||
lv_string = <ls_font>-size.
|
||||
CONCATENATE rv_processed_string '&' lv_string INTO rv_processed_string.
|
||||
CONDENSE rv_processed_string NO-GAPS.
|
||||
ENDIF.
|
||||
|
||||
CONCATENATE rv_processed_string <lv_value> INTO rv_processed_string.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
* ----------------------------------------------------------------------
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_HEADER_FOOTER.
|
||||
METHOD set_header_footer.
|
||||
|
||||
* Only Basic font/text formatting possible:
|
||||
* Bold (yes / no), Font Type, Font Size
|
||||
|
@ -442,38 +442,38 @@ method SET_HEADER_FOOTER.
|
|||
*
|
||||
* DO NOT USE &L , &C or &R which automatically created as position markers
|
||||
|
||||
me->odd_header = ip_odd_header.
|
||||
me->odd_footer = ip_odd_footer.
|
||||
me->even_header = ip_even_header.
|
||||
me->even_footer = ip_even_footer.
|
||||
me->odd_header = ip_odd_header.
|
||||
me->odd_footer = ip_odd_footer.
|
||||
me->even_header = ip_even_header.
|
||||
me->even_footer = ip_even_footer.
|
||||
|
||||
IF me->even_header IS NOT INITIAL OR me->even_footer IS NOT INITIAL.
|
||||
me->diff_oddeven_headerfooter = abap_true.
|
||||
ENDIF.
|
||||
IF me->even_header IS NOT INITIAL OR me->even_footer IS NOT INITIAL.
|
||||
me->diff_oddeven_headerfooter = abap_true.
|
||||
ENDIF.
|
||||
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method SET_PAGE_MARGINS.
|
||||
DATA: lv_coef TYPE f,
|
||||
lv_unit TYPE string.
|
||||
METHOD set_page_margins.
|
||||
DATA: lv_coef TYPE f,
|
||||
lv_unit TYPE string.
|
||||
|
||||
lv_unit = ip_unit.
|
||||
TRANSLATE lv_unit TO UPPER CASE.
|
||||
lv_unit = ip_unit.
|
||||
TRANSLATE lv_unit TO UPPER CASE.
|
||||
|
||||
CASE lv_unit.
|
||||
WHEN 'IN'. lv_coef = 1.
|
||||
WHEN 'CM'. lv_coef = '0.393700787'.
|
||||
WHEN 'MM'. lv_coef = '0.0393700787'.
|
||||
ENDCASE.
|
||||
CASE lv_unit.
|
||||
WHEN 'IN'. lv_coef = 1.
|
||||
WHEN 'CM'. lv_coef = '0.393700787'.
|
||||
WHEN 'MM'. lv_coef = '0.0393700787'.
|
||||
ENDCASE.
|
||||
|
||||
IF ip_bottom IS SUPPLIED. margin_bottom = lv_coef * ip_bottom. ENDIF.
|
||||
IF ip_footer IS SUPPLIED. margin_footer = lv_coef * ip_footer. ENDIF.
|
||||
IF ip_header IS SUPPLIED. margin_header = lv_coef * ip_header. ENDIF.
|
||||
IF ip_left IS SUPPLIED. margin_left = lv_coef * ip_left. ENDIF.
|
||||
IF ip_right IS SUPPLIED. margin_right = lv_coef * ip_right. ENDIF.
|
||||
IF ip_top IS SUPPLIED. margin_top = lv_coef * ip_top. ENDIF.
|
||||
IF ip_bottom IS SUPPLIED. margin_bottom = lv_coef * ip_bottom. ENDIF.
|
||||
IF ip_footer IS SUPPLIED. margin_footer = lv_coef * ip_footer. ENDIF.
|
||||
IF ip_header IS SUPPLIED. margin_header = lv_coef * ip_header. ENDIF.
|
||||
IF ip_left IS SUPPLIED. margin_left = lv_coef * ip_left. ENDIF.
|
||||
IF ip_right IS SUPPLIED. margin_right = lv_coef * ip_right. ENDIF.
|
||||
IF ip_top IS SUPPLIED. margin_top = lv_coef * ip_top. ENDIF.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,62 +1,62 @@
|
|||
class ZCL_EXCEL_STYLE definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_style DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_STYLE
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
data FONT type ref to ZCL_EXCEL_STYLE_FONT .
|
||||
data FILL type ref to ZCL_EXCEL_STYLE_FILL .
|
||||
data BORDERS type ref to ZCL_EXCEL_STYLE_BORDERS .
|
||||
data ALIGNMENT type ref to ZCL_EXCEL_STYLE_ALIGNMENT .
|
||||
data NUMBER_FORMAT type ref to ZCL_EXCEL_STYLE_NUMBER_FORMAT .
|
||||
data PROTECTION type ref to ZCL_EXCEL_STYLE_PROTECTION .
|
||||
DATA font TYPE REF TO zcl_excel_style_font .
|
||||
DATA fill TYPE REF TO zcl_excel_style_fill .
|
||||
DATA borders TYPE REF TO zcl_excel_style_borders .
|
||||
DATA alignment TYPE REF TO zcl_excel_style_alignment .
|
||||
DATA number_format TYPE REF TO zcl_excel_style_number_format .
|
||||
DATA protection TYPE REF TO zcl_excel_style_protection .
|
||||
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IP_GUID type ZEXCEL_CELL_STYLE optional .
|
||||
methods GET_GUID
|
||||
returning
|
||||
value(EP_GUID) type ZEXCEL_CELL_STYLE .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!ip_guid TYPE zexcel_cell_style OPTIONAL .
|
||||
METHODS get_guid
|
||||
RETURNING
|
||||
VALUE(ep_guid) TYPE zexcel_cell_style .
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_STYLE
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
|
||||
data GUID type ZEXCEL_CELL_STYLE .
|
||||
DATA guid TYPE zexcel_cell_style .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_STYLE IMPLEMENTATION.
|
||||
CLASS zcl_excel_style IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
METHOD constructor.
|
||||
|
||||
|
||||
CREATE OBJECT font.
|
||||
CREATE OBJECT fill.
|
||||
CREATE OBJECT borders.
|
||||
CREATE OBJECT alignment.
|
||||
CREATE OBJECT number_format.
|
||||
CREATE OBJECT protection.
|
||||
CREATE OBJECT font.
|
||||
CREATE OBJECT fill.
|
||||
CREATE OBJECT borders.
|
||||
CREATE OBJECT alignment.
|
||||
CREATE OBJECT number_format.
|
||||
CREATE OBJECT protection.
|
||||
|
||||
IF ip_guid IS NOT INITIAL.
|
||||
me->guid = ip_guid.
|
||||
ELSE.
|
||||
me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ).
|
||||
ENDIF.
|
||||
IF ip_guid IS NOT INITIAL.
|
||||
me->guid = ip_guid.
|
||||
ELSE.
|
||||
me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_GUID.
|
||||
METHOD get_guid.
|
||||
|
||||
|
||||
ep_guid = me->guid.
|
||||
endmethod.
|
||||
ep_guid = me->guid.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
class ZCL_EXCEL_STYLE_ALIGNMENT definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_style_alignment DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_STYLE_ALIGNMENT
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
PUBLIC SECTION.
|
||||
TYPE-POOLS abap .
|
||||
|
||||
constants C_HORIZONTAL_GENERAL type ZEXCEL_ALIGNMENT value 'general'. "#EC NOTEXT
|
||||
constants C_HORIZONTAL_LEFT type ZEXCEL_ALIGNMENT value 'left'. "#EC NOTEXT
|
||||
constants C_HORIZONTAL_RIGHT type ZEXCEL_ALIGNMENT value 'right'. "#EC NOTEXT
|
||||
constants C_HORIZONTAL_CENTER type ZEXCEL_ALIGNMENT value 'center'. "#EC NOTEXT
|
||||
constants C_HORIZONTAL_CENTER_CONTINUOUS type ZEXCEL_ALIGNMENT value 'centerContinuous'. "#EC NOTEXT
|
||||
constants C_HORIZONTAL_JUSTIFY type ZEXCEL_ALIGNMENT value 'justify'. "#EC NOTEXT
|
||||
constants C_VERTICAL_BOTTOM type ZEXCEL_ALIGNMENT value 'bottom'. "#EC NOTEXT
|
||||
constants C_VERTICAL_TOP type ZEXCEL_ALIGNMENT value 'top'. "#EC NOTEXT
|
||||
constants C_VERTICAL_CENTER type ZEXCEL_ALIGNMENT value 'center'. "#EC NOTEXT
|
||||
constants C_VERTICAL_JUSTIFY type ZEXCEL_ALIGNMENT value 'justify'. "#EC NOTEXT
|
||||
data HORIZONTAL type ZEXCEL_ALIGNMENT .
|
||||
data VERTICAL type ZEXCEL_ALIGNMENT .
|
||||
data TEXTROTATION type ZEXCEL_TEXT_ROTATION value 0. "#EC NOTEXT . . . . . . . . . . " .
|
||||
data WRAPTEXT type FLAG .
|
||||
data SHRINKTOFIT type FLAG .
|
||||
data INDENT type ZEXCEL_INDENT value 0. "#EC NOTEXT . . . . . . . . . . " .
|
||||
CONSTANTS c_horizontal_general TYPE zexcel_alignment VALUE 'general'. "#EC NOTEXT
|
||||
CONSTANTS c_horizontal_left TYPE zexcel_alignment VALUE 'left'. "#EC NOTEXT
|
||||
CONSTANTS c_horizontal_right TYPE zexcel_alignment VALUE 'right'. "#EC NOTEXT
|
||||
CONSTANTS c_horizontal_center TYPE zexcel_alignment VALUE 'center'. "#EC NOTEXT
|
||||
CONSTANTS c_horizontal_center_continuous TYPE zexcel_alignment VALUE 'centerContinuous'. "#EC NOTEXT
|
||||
CONSTANTS c_horizontal_justify TYPE zexcel_alignment VALUE 'justify'. "#EC NOTEXT
|
||||
CONSTANTS c_vertical_bottom TYPE zexcel_alignment VALUE 'bottom'. "#EC NOTEXT
|
||||
CONSTANTS c_vertical_top TYPE zexcel_alignment VALUE 'top'. "#EC NOTEXT
|
||||
CONSTANTS c_vertical_center TYPE zexcel_alignment VALUE 'center'. "#EC NOTEXT
|
||||
CONSTANTS c_vertical_justify TYPE zexcel_alignment VALUE 'justify'. "#EC NOTEXT
|
||||
DATA horizontal TYPE zexcel_alignment .
|
||||
DATA vertical TYPE zexcel_alignment .
|
||||
DATA textrotation TYPE zexcel_text_rotation VALUE 0. "#EC NOTEXT . . . . . . . . . . " .
|
||||
DATA wraptext TYPE flag .
|
||||
DATA shrinktofit TYPE flag .
|
||||
DATA indent TYPE zexcel_indent VALUE 0. "#EC NOTEXT . . . . . . . . . . " .
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
methods GET_STRUCTURE
|
||||
returning
|
||||
value(ES_ALIGNMENT) type ZEXCEL_S_STYLE_ALIGNMENT .
|
||||
METHODS constructor .
|
||||
METHODS get_structure
|
||||
RETURNING
|
||||
VALUE(es_alignment) TYPE zexcel_s_style_alignment .
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_STYLE_ALIGNMENT
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_STYLE_ALIGNMENT IMPLEMENTATION.
|
||||
CLASS zcl_excel_style_alignment IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
horizontal = me->c_horizontal_general.
|
||||
vertical = me->c_vertical_bottom.
|
||||
wrapText = abap_false.
|
||||
shrinkToFit = abap_false.
|
||||
endmethod.
|
||||
METHOD constructor.
|
||||
horizontal = me->c_horizontal_general.
|
||||
vertical = me->c_vertical_bottom.
|
||||
wraptext = abap_false.
|
||||
shrinktofit = abap_false.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_STRUCTURE.
|
||||
METHOD get_structure.
|
||||
|
||||
es_alignment-horizontal = me->horizontal.
|
||||
es_alignment-vertical = me->vertical.
|
||||
es_alignment-textrotation = me->textrotation.
|
||||
es_alignment-wraptext = me->wraptext.
|
||||
es_alignment-shrinktofit = me->shrinktofit.
|
||||
es_alignment-indent = me->indent.
|
||||
es_alignment-horizontal = me->horizontal.
|
||||
es_alignment-vertical = me->vertical.
|
||||
es_alignment-textrotation = me->textrotation.
|
||||
es_alignment-wraptext = me->wraptext.
|
||||
es_alignment-shrinktofit = me->shrinktofit.
|
||||
es_alignment-indent = me->indent.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
class ZCL_EXCEL_STYLE_BORDER definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_style_border DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
*"* public components of class ZCL_EXCEL_STYLE_BORDER
|
||||
*"* do not include other source files here!!!
|
||||
data BORDER_STYLE type ZEXCEL_BORDER .
|
||||
data BORDER_COLOR type ZEXCEL_S_STYLE_COLOR .
|
||||
constants C_BORDER_NONE type ZEXCEL_BORDER value 'none'. "#EC NOTEXT
|
||||
constants C_BORDER_DASHDOT type ZEXCEL_BORDER value 'dashDot'. "#EC NOTEXT
|
||||
constants C_BORDER_DASHDOTDOT type ZEXCEL_BORDER value 'dashDotDot'. "#EC NOTEXT
|
||||
constants C_BORDER_DASHED type ZEXCEL_BORDER value 'dashed'. "#EC NOTEXT
|
||||
constants C_BORDER_DOTTED type ZEXCEL_BORDER value 'dotted'. "#EC NOTEXT
|
||||
constants C_BORDER_DOUBLE type ZEXCEL_BORDER value 'double'. "#EC NOTEXT
|
||||
constants C_BORDER_HAIR type ZEXCEL_BORDER value 'hair'. "#EC NOTEXT
|
||||
constants C_BORDER_MEDIUM type ZEXCEL_BORDER value 'medium'. "#EC NOTEXT
|
||||
constants C_BORDER_MEDIUMDASHDOT type ZEXCEL_BORDER value 'mediumDashDot'. "#EC NOTEXT
|
||||
constants C_BORDER_MEDIUMDASHDOTDOT type ZEXCEL_BORDER value 'mediumDashDotDot'. "#EC NOTEXT
|
||||
constants C_BORDER_MEDIUMDASHED type ZEXCEL_BORDER value 'mediumDashed'. "#EC NOTEXT
|
||||
constants C_BORDER_SLANTDASHDOT type ZEXCEL_BORDER value 'slantDashDot'. "#EC NOTEXT
|
||||
constants C_BORDER_THICK type ZEXCEL_BORDER value 'thick'. "#EC NOTEXT
|
||||
constants C_BORDER_THIN type ZEXCEL_BORDER value 'thin'. "#EC NOTEXT
|
||||
DATA border_style TYPE zexcel_border .
|
||||
DATA border_color TYPE zexcel_s_style_color .
|
||||
CONSTANTS c_border_none TYPE zexcel_border VALUE 'none'. "#EC NOTEXT
|
||||
CONSTANTS c_border_dashdot TYPE zexcel_border VALUE 'dashDot'. "#EC NOTEXT
|
||||
CONSTANTS c_border_dashdotdot TYPE zexcel_border VALUE 'dashDotDot'. "#EC NOTEXT
|
||||
CONSTANTS c_border_dashed TYPE zexcel_border VALUE 'dashed'. "#EC NOTEXT
|
||||
CONSTANTS c_border_dotted TYPE zexcel_border VALUE 'dotted'. "#EC NOTEXT
|
||||
CONSTANTS c_border_double TYPE zexcel_border VALUE 'double'. "#EC NOTEXT
|
||||
CONSTANTS c_border_hair TYPE zexcel_border VALUE 'hair'. "#EC NOTEXT
|
||||
CONSTANTS c_border_medium TYPE zexcel_border VALUE 'medium'. "#EC NOTEXT
|
||||
CONSTANTS c_border_mediumdashdot TYPE zexcel_border VALUE 'mediumDashDot'. "#EC NOTEXT
|
||||
CONSTANTS c_border_mediumdashdotdot TYPE zexcel_border VALUE 'mediumDashDotDot'. "#EC NOTEXT
|
||||
CONSTANTS c_border_mediumdashed TYPE zexcel_border VALUE 'mediumDashed'. "#EC NOTEXT
|
||||
CONSTANTS c_border_slantdashdot TYPE zexcel_border VALUE 'slantDashDot'. "#EC NOTEXT
|
||||
CONSTANTS c_border_thick TYPE zexcel_border VALUE 'thick'. "#EC NOTEXT
|
||||
CONSTANTS c_border_thin TYPE zexcel_border VALUE 'thin'. "#EC NOTEXT
|
||||
|
||||
methods CONSTRUCTOR .
|
||||
METHODS constructor .
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_STYLE_BORDER
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_STYLE_BORDER IMPLEMENTATION.
|
||||
CLASS zcl_excel_style_border IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
border_style = zcl_excel_style_border=>c_border_none.
|
||||
border_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
border_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
endmethod.
|
||||
METHOD constructor.
|
||||
border_style = zcl_excel_style_border=>c_border_none.
|
||||
border_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
border_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,103 +1,103 @@
|
|||
class ZCL_EXCEL_STYLE_BORDERS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
CLASS zcl_excel_style_borders DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_STYLE_BORDERS
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
PUBLIC SECTION.
|
||||
|
||||
data ALLBORDERS type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
constants C_DIAGONAL_BOTH type ZEXCEL_DIAGONAL value 3. "#EC NOTEXT
|
||||
constants C_DIAGONAL_DOWN type ZEXCEL_DIAGONAL value 2. "#EC NOTEXT
|
||||
constants C_DIAGONAL_NONE type ZEXCEL_DIAGONAL value 0. "#EC NOTEXT
|
||||
constants C_DIAGONAL_UP type ZEXCEL_DIAGONAL value 1. "#EC NOTEXT
|
||||
data DIAGONAL type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
data DIAGONAL_MODE type ZEXCEL_DIAGONAL .
|
||||
data DOWN type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
data LEFT type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
data RIGHT type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
data TOP type ref to ZCL_EXCEL_STYLE_BORDER .
|
||||
DATA allborders TYPE REF TO zcl_excel_style_border .
|
||||
CONSTANTS c_diagonal_both TYPE zexcel_diagonal VALUE 3. "#EC NOTEXT
|
||||
CONSTANTS c_diagonal_down TYPE zexcel_diagonal VALUE 2. "#EC NOTEXT
|
||||
CONSTANTS c_diagonal_none TYPE zexcel_diagonal VALUE 0. "#EC NOTEXT
|
||||
CONSTANTS c_diagonal_up TYPE zexcel_diagonal VALUE 1. "#EC NOTEXT
|
||||
DATA diagonal TYPE REF TO zcl_excel_style_border .
|
||||
DATA diagonal_mode TYPE zexcel_diagonal .
|
||||
DATA down TYPE REF TO zcl_excel_style_border .
|
||||
DATA left TYPE REF TO zcl_excel_style_border .
|
||||
DATA right TYPE REF TO zcl_excel_style_border .
|
||||
DATA top TYPE REF TO zcl_excel_style_border .
|
||||
|
||||
methods GET_STRUCTURE
|
||||
returning
|
||||
value(ES_FILL) type ZEXCEL_S_STYLE_BORDER .
|
||||
METHODS get_structure
|
||||
RETURNING
|
||||
VALUE(es_fill) TYPE zexcel_s_style_border .
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_STYLE_BORDERS
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_STYLE_BORDERS IMPLEMENTATION.
|
||||
CLASS zcl_excel_style_borders IMPLEMENTATION.
|
||||
|
||||
|
||||
method GET_STRUCTURE.
|
||||
METHOD get_structure.
|
||||
*initialize colors to 'not set'
|
||||
es_fill-left_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-left_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-right_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-right_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-top_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-top_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-bottom_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-bottom_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-diagonal_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-diagonal_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-left_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-left_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-right_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-right_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-top_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-top_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-bottom_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-bottom_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
es_fill-diagonal_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
|
||||
es_fill-diagonal_color-theme = zcl_excel_style_color=>c_theme_not_set.
|
||||
|
||||
* Check if all borders is set otherwise check single border
|
||||
IF me->allborders IS BOUND.
|
||||
es_fill-left_color = me->allborders->border_color.
|
||||
es_fill-left_style = me->allborders->border_style.
|
||||
es_fill-right_color = me->allborders->border_color.
|
||||
es_fill-right_style = me->allborders->border_style.
|
||||
es_fill-top_color = me->allborders->border_color.
|
||||
es_fill-top_style = me->allborders->border_style.
|
||||
es_fill-bottom_color = me->allborders->border_color.
|
||||
es_fill-bottom_style = me->allborders->border_style.
|
||||
ELSE.
|
||||
IF me->left IS BOUND.
|
||||
es_fill-left_color = me->left->border_color.
|
||||
es_fill-left_style = me->left->border_style.
|
||||
IF me->allborders IS BOUND.
|
||||
es_fill-left_color = me->allborders->border_color.
|
||||
es_fill-left_style = me->allborders->border_style.
|
||||
es_fill-right_color = me->allborders->border_color.
|
||||
es_fill-right_style = me->allborders->border_style.
|
||||
es_fill-top_color = me->allborders->border_color.
|
||||
es_fill-top_style = me->allborders->border_style.
|
||||
es_fill-bottom_color = me->allborders->border_color.
|
||||
es_fill-bottom_style = me->allborders->border_style.
|
||||
ELSE.
|
||||
IF me->left IS BOUND.
|
||||
es_fill-left_color = me->left->border_color.
|
||||
es_fill-left_style = me->left->border_style.
|
||||
ENDIF.
|
||||
IF me->right IS BOUND.
|
||||
es_fill-right_color = me->right->border_color.
|
||||
es_fill-right_style = me->right->border_style.
|
||||
ENDIF.
|
||||
IF me->top IS BOUND.
|
||||
es_fill-top_color = me->top->border_color.
|
||||
es_fill-top_style = me->top->border_style.
|
||||
ENDIF.
|
||||
IF me->down IS BOUND.
|
||||
es_fill-bottom_color = me->down->border_color.
|
||||
es_fill-bottom_style = me->down->border_style.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF me->right IS BOUND.
|
||||
es_fill-right_color = me->right->border_color.
|
||||
es_fill-right_style = me->right->border_style.
|
||||
ENDIF.
|
||||
IF me->top IS BOUND.
|
||||
es_fill-top_color = me->top->border_color.
|
||||
es_fill-top_style = me->top->border_style.
|
||||
ENDIF.
|
||||
IF me->down IS BOUND.
|
||||
es_fill-bottom_color = me->down->border_color.
|
||||
es_fill-bottom_style = me->down->border_style.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
* Check if diagonal is set
|
||||
IF me->diagonal IS BOUND.
|
||||
es_fill-diagonal_color = me->diagonal->border_color.
|
||||
es_fill-diagonal_style = me->diagonal->border_style.
|
||||
CASE me->diagonal_mode.
|
||||
WHEN 1.
|
||||
es_fill-diagonalup = 1.
|
||||
es_fill-diagonaldown = 0.
|
||||
WHEN 2.
|
||||
es_fill-diagonalup = 0.
|
||||
es_fill-diagonaldown = 1.
|
||||
WHEN 3.
|
||||
es_fill-diagonalup = 1.
|
||||
es_fill-diagonaldown = 1.
|
||||
WHEN OTHERS.
|
||||
es_fill-diagonalup = 0.
|
||||
es_fill-diagonaldown = 0.
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
IF me->diagonal IS BOUND.
|
||||
es_fill-diagonal_color = me->diagonal->border_color.
|
||||
es_fill-diagonal_style = me->diagonal->border_style.
|
||||
CASE me->diagonal_mode.
|
||||
WHEN 1.
|
||||
es_fill-diagonalup = 1.
|
||||
es_fill-diagonaldown = 0.
|
||||
WHEN 2.
|
||||
es_fill-diagonalup = 0.
|
||||
es_fill-diagonaldown = 1.
|
||||
WHEN 3.
|
||||
es_fill-diagonalup = 1.
|
||||
es_fill-diagonaldown = 1.
|
||||
WHEN OTHERS.
|
||||
es_fill-diagonalup = 0.
|
||||
es_fill-diagonaldown = 0.
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user