new version of PR 1015 (sz3lbi:clone)

Fixes for:
- tables
- named ranges
- total functions
- autofilter
- graphs
- not all worksheet properties cloned
This commit is contained in:
sandraros 2022-05-08 18:24:53 +00:00
parent d2a1301329
commit 11ab392189
30 changed files with 924 additions and 32 deletions

View File

@ -48,6 +48,14 @@ CLASS zcl_excel DEFINITION
VALUE(eo_worksheet) TYPE REF TO zcl_excel_worksheet VALUE(eo_worksheet) TYPE REF TO zcl_excel_worksheet
RAISING RAISING
zcx_excel . zcx_excel .
METHODS clone_worksheet
IMPORTING
!io_worksheet TYPE REF TO zcl_excel_worksheet
!ip_title TYPE zexcel_sheet_title OPTIONAL
RETURNING
VALUE(ro_worksheet) TYPE REF TO zcl_excel_worksheet
RAISING
zcx_excel.
METHODS add_static_styles . METHODS add_static_styles .
METHODS constructor . METHODS constructor .
METHODS delete_worksheet METHODS delete_worksheet
@ -263,6 +271,31 @@ CLASS zcl_excel IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD clone_worksheet.
DATA lo_worksheet_clone TYPE REF TO zcl_excel_worksheet.
DATA lo_autofilter TYPE REF TO zcl_excel_autofilter.
DATA lo_new_autofilter TYPE REF TO zcl_excel_autofilter.
lo_worksheet_clone ?= io_worksheet->clone( ).
IF ip_title IS NOT INITIAL.
lo_worksheet_clone->set_title( ip_title ).
ENDIF.
lo_autofilter = autofilters->get( io_worksheet ).
IF lo_autofilter IS BOUND.
lo_new_autofilter = autofilters->add( lo_worksheet_clone ).
lo_new_autofilter->set_filter_area( lo_autofilter->get_filter_area( ) ).
lo_new_autofilter->set_values( lo_autofilter->get_values( ) ).
ENDIF.
worksheets->add( lo_worksheet_clone ).
worksheets->active_worksheet = worksheets->size( ).
ro_worksheet = lo_worksheet_clone.
ENDMETHOD.
METHOD add_static_styles. METHOD add_static_styles.
" # issue 139 " # issue 139
FIELD-SYMBOLS: <style1> LIKE LINE OF t_stylemapping1, FIELD-SYMBOLS: <style1> LIKE LINE OF t_stylemapping1,

View File

@ -0,0 +1,24 @@
"! <p class="shorttext synchronized" lang="en">Base class for Excel components and groups of components</p>
CLASS zcl_excel_base DEFINITION
PUBLIC
ABSTRACT
CREATE PROTECTED.
PUBLIC SECTION.
METHODS clone
ABSTRACT
RETURNING
VALUE(ro_object) TYPE REF TO zcl_excel_base
RAISING
zcx_excel.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_excel_base IMPLEMENTATION.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_EXCEL_BASE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Base class for Excel components and groups of components</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,12 +1,13 @@
CLASS zcl_excel_collection DEFINITION CLASS zcl_excel_collection DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
TYPES: TYPES:
ty_collection TYPE STANDARD TABLE OF REF TO object . ty_collection TYPE STANDARD TABLE OF REF TO zcl_excel_base.
DATA collection TYPE ty_collection READ-ONLY . DATA collection TYPE ty_collection READ-ONLY .
@ -20,24 +21,25 @@ CLASS zcl_excel_collection DEFINITION
IMPORTING IMPORTING
!index TYPE i !index TYPE i
RETURNING RETURNING
VALUE(object) TYPE REF TO object . VALUE(object) TYPE REF TO zcl_excel_base.
METHODS get_iterator METHODS get_iterator
RETURNING RETURNING
VALUE(iterator) TYPE REF TO zcl_excel_collection_iterator . VALUE(iterator) TYPE REF TO zcl_excel_collection_iterator .
METHODS add METHODS add
IMPORTING IMPORTING
!element TYPE REF TO object . !element TYPE REF TO zcl_excel_base.
METHODS remove METHODS remove
IMPORTING IMPORTING
!element TYPE REF TO object . !element TYPE REF TO zcl_excel_base.
METHODS clear . METHODS clear .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS zcl_excel_collection IMPLEMENTATION. CLASS ZCL_EXCEL_COLLECTION IMPLEMENTATION.
METHOD add . METHOD add .
@ -50,6 +52,22 @@ CLASS zcl_excel_collection IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_collection TYPE REF TO zcl_excel_collection.
DATA lo_element TYPE REF TO zcl_excel_base.
DATA lo_clone TYPE REF TO zcl_excel_base.
CREATE OBJECT lo_excel_collection.
LOOP AT me->collection INTO lo_element.
lo_clone = lo_element->clone( ).
INSERT lo_clone INTO TABLE lo_excel_collection->collection.
ENDLOOP.
ro_object = lo_excel_collection.
ENDMETHOD.
METHOD get . METHOD get .
READ TABLE collection INDEX index INTO object. READ TABLE collection INDEX index INTO object.
ENDMETHOD. ENDMETHOD.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_column DEFINITION CLASS zcl_excel_column DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_COLUMN *"* public components of class ZCL_EXCEL_COLUMN
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -82,6 +83,7 @@ CLASS zcl_excel_column DEFINITION
VALUE(ep_style_guid) TYPE zexcel_cell_style VALUE(ep_style_guid) TYPE zexcel_cell_style
RAISING RAISING
zcx_excel . zcx_excel .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_COLUMN *"* protected components of class ZCL_EXCEL_COLUMN
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -107,6 +109,8 @@ CLASS zcl_excel_column IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
me->column_index = zcl_excel_common=>convert_column2int( ip_index ). me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
me->width = -1. me->width = -1.
me->auto_size = abap_false. me->auto_size = abap_false.
@ -226,4 +230,29 @@ CLASS zcl_excel_column IMPLEMENTATION.
me->xf_index = ip_xf_index. me->xf_index = ip_xf_index.
io_column = me. io_column = me.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_column TYPE REF TO zcl_excel_column.
DATA lv_index TYPE zexcel_cell_column_alpha.
lv_index = column_index.
CREATE OBJECT lo_excel_column
EXPORTING
ip_index = lv_index
ip_worksheet = worksheet
ip_excel = excel.
lo_excel_column->width = width.
lo_excel_column->auto_size = auto_size.
lo_excel_column->visible = visible.
lo_excel_column->outline_level = outline_level.
lo_excel_column->collapsed = collapsed.
lo_excel_column->xf_index = xf_index.
lo_excel_column->style_guid = style_guid.
ro_object = lo_excel_column.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_columns DEFINITION CLASS zcl_excel_columns DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_COLUMNS *"* public components of class ZCL_EXCEL_COLUMNS
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -28,6 +29,7 @@ CLASS zcl_excel_columns DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_WORKSHEETS *"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -69,6 +71,7 @@ CLASS zcl_excel_columns IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT columns. CREATE OBJECT columns.
@ -104,4 +107,18 @@ CLASS zcl_excel_columns IMPLEMENTATION.
METHOD size. METHOD size.
ep_size = columns->size( ). ep_size = columns->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_columns TYPE REF TO zcl_excel_columns.
CREATE OBJECT lo_excel_columns.
lo_excel_columns->columns ?= columns->clone( ).
lo_excel_columns->columns_hashed = columns_hashed.
ro_object = lo_excel_columns.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_comment DEFINITION CLASS zcl_excel_comment DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
@ -22,6 +23,7 @@ CLASS zcl_excel_comment DEFINITION
IMPORTING IMPORTING
!ip_text TYPE string !ip_text TYPE string
!ip_ref TYPE string OPTIONAL . !ip_ref TYPE string OPTIONAL .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
@ -36,7 +38,7 @@ CLASS zcl_excel_comment IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
ENDMETHOD. ENDMETHOD.
@ -67,4 +69,18 @@ CLASS zcl_excel_comment IMPLEMENTATION.
me->ref = ip_ref. me->ref = ip_ref.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_comment TYPE REF TO zcl_excel_comment.
CREATE OBJECT lo_excel_comment.
lo_excel_comment->index = index.
lo_excel_comment->ref = ref.
lo_excel_comment->text = text.
ro_object = lo_excel_comment.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_comments DEFINITION CLASS zcl_excel_comments DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
@ -30,6 +31,7 @@ CLASS zcl_excel_comments DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
@ -57,6 +59,7 @@ CLASS zcl_excel_comments IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT comments. CREATE OBJECT comments.
ENDMETHOD. ENDMETHOD.
@ -97,4 +100,16 @@ CLASS zcl_excel_comments IMPLEMENTATION.
ep_size = comments->size( ). ep_size = comments->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_comments TYPE REF TO zcl_excel_comments.
CREATE OBJECT lo_excel_comments.
lo_excel_comments->comments ?= comments->clone( ).
ro_object = lo_excel_comments.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_data_validation DEFINITION CLASS zcl_excel_data_validation DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
*"* public components of class ZCL_EXCEL_DATA_VALIDATION *"* public components of class ZCL_EXCEL_DATA_VALIDATION
@ -45,6 +46,7 @@ CLASS zcl_excel_data_validation DEFINITION
DATA prompt TYPE string . DATA prompt TYPE string .
METHODS constructor . METHODS constructor .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_DATA_VALIDATION *"* protected components of class ZCL_EXCEL_DATA_VALIDATION
*"* do not include other source files here!!! *"* do not include other source files here!!!
*"* protected components of class ZCL_EXCEL_DATA_VALIDATION *"* protected components of class ZCL_EXCEL_DATA_VALIDATION
@ -61,6 +63,7 @@ CLASS zcl_excel_data_validation IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
" Initialise instance variables " Initialise instance variables
formula1 = ''. formula1 = ''.
formula2 = ''. formula2 = ''.
@ -79,4 +82,32 @@ CLASS zcl_excel_data_validation IMPLEMENTATION.
cell_row = 1. cell_row = 1.
cell_column = 'A'. cell_column = 'A'.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_data_validation TYPE REF TO zcl_excel_data_validation.
CREATE OBJECT lo_excel_data_validation.
lo_excel_data_validation->allowblank = allowblank.
lo_excel_data_validation->cell_column = cell_column.
lo_excel_data_validation->cell_column_to = cell_column_to.
lo_excel_data_validation->cell_row = cell_row.
lo_excel_data_validation->cell_row_to = cell_row_to.
lo_excel_data_validation->error = error.
lo_excel_data_validation->errorstyle = errorstyle.
lo_excel_data_validation->errortitle = errortitle.
lo_excel_data_validation->formula1 = formula1.
lo_excel_data_validation->formula2 = formula2.
lo_excel_data_validation->operator = operator.
lo_excel_data_validation->prompt = prompt.
lo_excel_data_validation->prompttitle = prompttitle.
lo_excel_data_validation->showdropdown = showdropdown.
lo_excel_data_validation->showerrormessage = showerrormessage.
lo_excel_data_validation->showinputmessage = showinputmessage.
lo_excel_data_validation->type = type.
ro_object = lo_excel_data_validation.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_data_validations DEFINITION CLASS zcl_excel_data_validations DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_DATA_VALIDATIONS *"* public components of class ZCL_EXCEL_DATA_VALIDATIONS
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -24,6 +25,7 @@ CLASS zcl_excel_data_validations DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_DATA_VALIDATIONS *"* protected components of class ZCL_EXCEL_DATA_VALIDATIONS
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -50,6 +52,7 @@ CLASS zcl_excel_data_validations IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT data_validations. CREATE OBJECT data_validations.
@ -74,4 +77,16 @@ CLASS zcl_excel_data_validations IMPLEMENTATION.
METHOD size. METHOD size.
ep_size = data_validations->size( ). ep_size = data_validations->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_data_validations TYPE REF TO zcl_excel_data_validations.
CREATE OBJECT lo_excel_data_validations.
lo_excel_data_validations->data_validations ?= data_validations->clone( ).
ro_object = lo_excel_data_validations.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_drawing DEFINITION CLASS zcl_excel_drawing DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
*"* public components of class ZCL_EXCEL_DRAWING *"* public components of class ZCL_EXCEL_DRAWING
@ -36,6 +37,12 @@ CLASS zcl_excel_drawing DEFINITION
c14 TYPE string VALUE 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart', c14 TYPE string VALUE 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart',
END OF namespace. END OF namespace.
METHODS clone REDEFINITION.
METHODS clone_attributes_to
IMPORTING
io_excel_drawing type ref to zcl_excel_drawing
RAISING
zcx_excel.
METHODS constructor METHODS constructor
IMPORTING IMPORTING
!ip_type TYPE zexcel_drawing_type DEFAULT zcl_excel_drawing=>type_image !ip_type TYPE zexcel_drawing_type DEFAULT zcl_excel_drawing=>type_image
@ -154,10 +161,11 @@ ENDCLASS.
CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. CLASS zcl_excel_drawing IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call
@ -1140,4 +1148,36 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION.
me->anchor = lv_anchor. me->anchor = lv_anchor.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_drawing TYPE REF TO zcl_excel_drawing.
CREATE OBJECT lo_excel_drawing.
clone_attributes_to( lo_excel_drawing ).
ro_object = lo_excel_drawing.
ENDMETHOD.
METHOD clone_attributes_to.
IF graph IS BOUND.
io_excel_drawing->graph ?= graph->clone( ).
ENDIF.
io_excel_drawing->anchor = anchor.
io_excel_drawing->from_loc = from_loc.
io_excel_drawing->graph_type = graph_type.
io_excel_drawing->io = io.
io_excel_drawing->media = media.
io_excel_drawing->media_key_www = media_key_www.
io_excel_drawing->media_source = media_source.
io_excel_drawing->media_type = media_type.
io_excel_drawing->size = size.
io_excel_drawing->to_loc = to_loc.
io_excel_drawing->type = type.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_drawings DEFINITION CLASS zcl_excel_drawings DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
@ -39,6 +40,7 @@ CLASS zcl_excel_drawings DEFINITION
METHODS get_type METHODS get_type
RETURNING RETURNING
VALUE(rp_type) TYPE zexcel_drawing_type . VALUE(rp_type) TYPE zexcel_drawing_type .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_DRAWINGS *"* protected components of class ZCL_EXCEL_DRAWINGS
*"* do not include other source files here!!! *"* do not include other source files here!!!
*"* protected components of class ZCL_EXCEL_DRAWINGS *"* protected components of class ZCL_EXCEL_DRAWINGS
@ -73,6 +75,7 @@ CLASS zcl_excel_drawings IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT drawings. CREATE OBJECT drawings.
type = ip_type. type = ip_type.
@ -120,4 +123,23 @@ CLASS zcl_excel_drawings IMPLEMENTATION.
ep_size = drawings->size( ). ep_size = drawings->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA: lo_excel_drawings TYPE REF TO zcl_excel_drawings,
lo_element TYPE REF TO zcl_excel_base,
lo_drawing TYPE REF TO zcl_excel_drawing,
lo_drawings TYPE TABLE OF REF TO zcl_excel_drawing.
LOOP AT drawings->collection INTO lo_element.
lo_drawing ?= lo_element->clone( ).
APPEND lo_drawing TO lo_drawings.
ENDLOOP.
LOOP AT lo_drawings INTO lo_drawing.
add( lo_drawing ).
ENDLOOP.
ro_object = me.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,6 +1,7 @@
CLASS zcl_excel_graph DEFINITION CLASS zcl_excel_graph DEFINITION
PUBLIC PUBLIC
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
@ -292,6 +293,7 @@ CLASS zcl_excel_graph DEFINITION
CONSTANTS c_print_lbl_true TYPE c VALUE '1'. "#EC NOTEXT CONSTANTS c_print_lbl_true TYPE c VALUE '1'. "#EC NOTEXT
CONSTANTS c_print_lbl_false TYPE c VALUE '0'. "#EC NOTEXT CONSTANTS c_print_lbl_false TYPE c VALUE '0'. "#EC NOTEXT
METHODS clone REDEFINITION.
METHODS constructor . METHODS constructor .
METHODS create_serie METHODS create_serie
IMPORTING IMPORTING
@ -324,6 +326,9 @@ CLASS zcl_excel_graph DEFINITION
PROTECTED SECTION. PROTECTED SECTION.
*"* protected components of class ZCL_EXCEL_GRAPH *"* protected components of class ZCL_EXCEL_GRAPH
*"* do not include other source files here!!! *"* do not include other source files here!!!
METHODS clone_attributes_to
IMPORTING
io_excel_graph TYPE REF TO zcl_excel_graph.
PRIVATE SECTION. PRIVATE SECTION.
*"* private components of class ZCL_EXCEL_GRAPH *"* private components of class ZCL_EXCEL_GRAPH
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -335,6 +340,7 @@ CLASS zcl_excel_graph IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
"Load default values "Load default values
me->pagemargins-b = '0.75'. me->pagemargins-b = '0.75'.
me->pagemargins-l = '0.7'. me->pagemargins-l = '0.7'.
@ -407,4 +413,33 @@ CLASS zcl_excel_graph IMPLEMENTATION.
METHOD set_title. METHOD set_title.
me->title = ip_value. me->title = ip_value.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_graph TYPE REF TO zcl_excel_graph.
CREATE OBJECT lo_excel_graph.
clone_attributes_to( lo_excel_graph ).
ro_object = lo_excel_graph.
ENDMETHOD.
METHOD clone_attributes_to.
io_excel_graph->ns_1904val = ns_1904val.
io_excel_graph->ns_autotitledeletedval = ns_autotitledeletedval.
io_excel_graph->ns_c14styleval = ns_c14styleval.
io_excel_graph->ns_dispblanksasval = ns_dispblanksasval.
io_excel_graph->ns_langval = ns_langval.
io_excel_graph->ns_plotvisonlyval = ns_plotvisonlyval.
io_excel_graph->ns_roundedcornersval = ns_roundedcornersval.
io_excel_graph->ns_showdlblsovermaxval = ns_showdlblsovermaxval.
io_excel_graph->ns_styleval = ns_styleval.
io_excel_graph->pagemargins = pagemargins.
io_excel_graph->print_label = print_label.
io_excel_graph->series = series.
io_excel_graph->title = title.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -54,6 +54,7 @@ CLASS zcl_excel_graph_bars DEFINITION
CONSTANTS c_invertifnegative_yes TYPE string VALUE '1'. "#EC NOTEXT CONSTANTS c_invertifnegative_yes TYPE string VALUE '1'. "#EC NOTEXT
CONSTANTS c_invertifnegative_no TYPE string VALUE '0'. "#EC NOTEXT CONSTANTS c_invertifnegative_no TYPE string VALUE '0'. "#EC NOTEXT
METHODS clone REDEFINITION.
METHODS create_ax METHODS create_ax
IMPORTING IMPORTING
!ip_axid TYPE string OPTIONAL !ip_axid TYPE string OPTIONAL
@ -94,6 +95,7 @@ CLASS zcl_excel_graph_bars DEFINITION
PROTECTED SECTION. PROTECTED SECTION.
*"* protected components of class ZCL_EXCEL_GRAPH_BARS *"* protected components of class ZCL_EXCEL_GRAPH_BARS
*"* do not include other source files here!!! *"* do not include other source files here!!!
METHODS clone_attributes_to REDEFINITION.
PRIVATE SECTION. PRIVATE SECTION.
*"* private components of class ZCL_EXCEL_GRAPH_BARS *"* private components of class ZCL_EXCEL_GRAPH_BARS
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -104,6 +106,40 @@ ENDCLASS.
CLASS zcl_excel_graph_bars IMPLEMENTATION. CLASS zcl_excel_graph_bars IMPLEMENTATION.
METHOD clone.
DATA: lo_bars TYPE REF TO zcl_excel_graph_bars.
CREATE OBJECT lo_bars TYPE zcl_excel_graph_bars.
clone_attributes_to( lo_bars ).
ro_object = lo_bars.
ENDMETHOD.
METHOD clone_attributes_to.
DATA: lo_bars TYPE REF TO zcl_excel_graph_bars.
super->clone_attributes_to( io_excel_graph ).
lo_bars ?= io_excel_graph.
lo_bars->ns_bardirval = ns_bardirval.
lo_bars->ns_groupingval = ns_groupingval.
lo_bars->ns_varycolorsval = ns_varycolorsval.
lo_bars->ns_showlegendkeyval = ns_showlegendkeyval .
lo_bars->ns_showvalval = ns_showvalval.
lo_bars->ns_showcatnameval = ns_showcatnameval.
lo_bars->ns_showsernameval = ns_showsernameval.
lo_bars->ns_showpercentval = ns_showpercentval.
lo_bars->ns_showbubblesizeval = ns_showbubblesizeval.
lo_bars->ns_gapwidthval = ns_gapwidthval.
lo_bars->axes = axes.
lo_bars->ns_legendposval = ns_legendposval.
lo_bars->ns_overlayval = ns_overlayval.
ENDMETHOD.
METHOD create_ax. METHOD create_ax.
DATA ls_ax TYPE s_ax. DATA ls_ax TYPE s_ax.
ls_ax-type = ip_type. ls_ax-type = ip_type.

View File

@ -52,6 +52,7 @@ CLASS zcl_excel_graph_line DEFINITION
CONSTANTS c_symbol_auto TYPE string VALUE 'auto'. "#EC NOTEXT CONSTANTS c_symbol_auto TYPE string VALUE 'auto'. "#EC NOTEXT
CONSTANTS c_symbol_none TYPE string VALUE 'none'. "#EC NOTEXT CONSTANTS c_symbol_none TYPE string VALUE 'none'. "#EC NOTEXT
METHODS clone REDEFINITION.
METHODS create_ax METHODS create_ax
IMPORTING IMPORTING
!ip_axid TYPE string OPTIONAL !ip_axid TYPE string OPTIONAL
@ -92,6 +93,7 @@ CLASS zcl_excel_graph_line DEFINITION
PROTECTED SECTION. PROTECTED SECTION.
*"* protected components of class ZCL_EXCEL_GRAPH_LINE *"* protected components of class ZCL_EXCEL_GRAPH_LINE
*"* do not include other source files here!!! *"* do not include other source files here!!!
METHODS clone_attributes_to REDEFINITION.
PRIVATE SECTION. PRIVATE SECTION.
*"* private components of class ZCL_EXCEL_GRAPH_LINE *"* private components of class ZCL_EXCEL_GRAPH_LINE
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -102,6 +104,39 @@ ENDCLASS.
CLASS zcl_excel_graph_line IMPLEMENTATION. CLASS zcl_excel_graph_line IMPLEMENTATION.
METHOD clone.
DATA: lo_line TYPE REF TO zcl_excel_graph_line.
CREATE OBJECT lo_line TYPE zcl_excel_graph_line.
clone_attributes_to( lo_line ).
ro_object = lo_line.
ENDMETHOD.
METHOD clone_attributes_to.
DATA: lo_line TYPE REF TO zcl_excel_graph_line.
super->clone_attributes_to( io_excel_graph ).
lo_line ?= io_excel_graph.
lo_line->ns_groupingval = ns_groupingval.
lo_line->ns_varycolorsval = ns_varycolorsval.
lo_line->ns_showlegendkeyval = ns_showlegendkeyval.
lo_line->ns_showvalval = ns_showvalval.
lo_line->ns_showcatnameval = ns_showcatnameval.
lo_line->ns_showsernameval = ns_showsernameval.
lo_line->ns_showpercentval = ns_showpercentval.
lo_line->ns_showbubblesizeval = ns_showbubblesizeval.
lo_line->ns_markerval = ns_markerval.
lo_line->ns_smoothval = ns_smoothval.
lo_line->axes = axes.
lo_line->ns_legendposval = ns_legendposval.
lo_line->ns_overlayval = ns_overlayval.
ENDMETHOD.
METHOD create_ax. METHOD create_ax.
DATA ls_ax TYPE s_ax. DATA ls_ax TYPE s_ax.
ls_ax-type = ip_type. ls_ax-type = ip_type.

View File

@ -22,6 +22,7 @@ CLASS zcl_excel_graph_pie DEFINITION
DATA ns_showbubblesizeval 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_showleaderlinesval TYPE string VALUE '1'. "#EC NOTEXT . . . . . . . . . . " .
METHODS clone REDEFINITION.
METHODS set_show_legend_key METHODS set_show_legend_key
IMPORTING IMPORTING
!ip_value TYPE c . !ip_value TYPE c .
@ -46,6 +47,7 @@ CLASS zcl_excel_graph_pie DEFINITION
PROTECTED SECTION. PROTECTED SECTION.
*"* protected components of class ZCL_EXCEL_GRAPH_PIE *"* protected components of class ZCL_EXCEL_GRAPH_PIE
*"* do not include other source files here!!! *"* do not include other source files here!!!
METHODS clone_attributes_to REDEFINITION.
PRIVATE SECTION. PRIVATE SECTION.
*"* private components of class ZCL_EXCEL_GRAPH_PIE *"* private components of class ZCL_EXCEL_GRAPH_PIE
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -53,7 +55,40 @@ ENDCLASS.
CLASS zcl_excel_graph_pie IMPLEMENTATION. CLASS ZCL_EXCEL_GRAPH_PIE IMPLEMENTATION.
METHOD clone.
DATA: lo_pie TYPE REF TO zcl_excel_graph_pie.
CREATE OBJECT lo_pie TYPE zcl_excel_graph_pie.
clone_attributes_to( lo_pie ).
ro_object = lo_pie.
ENDMETHOD.
METHOD clone_attributes_to.
DATA: lo_pie TYPE REF TO zcl_excel_graph_pie.
super->clone_attributes_to( io_excel_graph ).
lo_pie ?= io_excel_graph.
lo_pie->ns_legendposval = ns_legendposval.
lo_pie->ns_overlayval = ns_overlayval.
lo_pie->ns_pprrtl = ns_pprrtl.
lo_pie->ns_endpararprlang = ns_endpararprlang.
lo_pie->ns_varycolorsval = ns_varycolorsval.
lo_pie->ns_firstsliceangval = ns_firstsliceangval.
lo_pie->ns_showlegendkeyval = ns_showlegendkeyval.
lo_pie->ns_showvalval = ns_showvalval.
lo_pie->ns_showcatnameval = ns_showcatnameval.
lo_pie->ns_showsernameval = ns_showsernameval.
lo_pie->ns_showpercentval = ns_showpercentval.
lo_pie->ns_showbubblesizeval = ns_showbubblesizeval.
lo_pie->ns_showleaderlinesval = ns_showleaderlinesval.
ENDMETHOD.
METHOD set_show_cat_name. METHOD set_show_cat_name.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_hyperlink DEFINITION CLASS zcl_excel_hyperlink DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PRIVATE . CREATE PRIVATE
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_HYPERLINK *"* public components of class ZCL_EXCEL_HYPERLINK
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -32,6 +33,7 @@ CLASS zcl_excel_hyperlink DEFINITION
METHODS get_url METHODS get_url
RETURNING RETURNING
VALUE(ev_url) TYPE string . VALUE(ev_url) TYPE string .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_HYPERLINK *"* protected components of class ZCL_EXCEL_HYPERLINK
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -104,4 +106,20 @@ CLASS zcl_excel_hyperlink IMPLEMENTATION.
me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column
me->row = ip_row. me->row = ip_row.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_hyperlink TYPE REF TO zcl_excel_hyperlink.
CREATE OBJECT lo_excel_hyperlink.
lo_excel_hyperlink->cell_reference = cell_reference.
lo_excel_hyperlink->column = column.
lo_excel_hyperlink->internal = internal.
lo_excel_hyperlink->location = location.
lo_excel_hyperlink->row = row.
ro_object = lo_excel_hyperlink.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_range DEFINITION CLASS zcl_excel_range DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_RANGE *"* public components of class ZCL_EXCEL_RANGE
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -11,6 +12,7 @@ CLASS zcl_excel_range DEFINITION
DATA name TYPE zexcel_range_name . DATA name TYPE zexcel_range_name .
DATA guid TYPE zexcel_range_guid . DATA guid TYPE zexcel_range_guid .
METHODS clone REDEFINITION.
METHODS get_guid METHODS get_guid
RETURNING RETURNING
VALUE(ep_guid) TYPE zexcel_range_guid . VALUE(ep_guid) TYPE zexcel_range_guid .
@ -24,6 +26,15 @@ CLASS zcl_excel_range DEFINITION
METHODS get_value METHODS get_value
RETURNING RETURNING
VALUE(ep_value) TYPE zexcel_range_value . VALUE(ep_value) TYPE zexcel_range_value .
METHODS get_value2
EXPORTING
!ep_sheet_name TYPE zexcel_sheet_title
!ep_start_row TYPE zexcel_cell_row
!ep_start_column TYPE zexcel_cell_column_alpha
!ep_stop_row TYPE zexcel_cell_row
!ep_stop_column TYPE zexcel_cell_column_alpha
RAISING
zcx_excel.
METHODS set_range_value METHODS set_range_value
IMPORTING IMPORTING
!ip_value TYPE zexcel_range_value . !ip_value TYPE zexcel_range_value .
@ -42,6 +53,18 @@ ENDCLASS.
CLASS zcl_excel_range IMPLEMENTATION. CLASS zcl_excel_range IMPLEMENTATION.
METHOD clone.
DATA lo_excel_range TYPE REF TO zcl_excel_range.
CREATE OBJECT lo_excel_range.
lo_excel_range->name = name.
lo_excel_range->value = value.
ro_object = lo_excel_range.
ENDMETHOD.
METHOD get_guid. METHOD get_guid.
ep_guid = me->guid. ep_guid = me->guid.
@ -56,6 +79,37 @@ CLASS zcl_excel_range IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD get_value2.
DATA: lv_column_start TYPE zexcel_cell_column_alpha,
lv_column_start_int TYPE zexcel_cell_column,
lv_column_end TYPE zexcel_cell_column_alpha,
lv_column_end_int TYPE zexcel_cell_column,
lv_row_start TYPE zexcel_cell_row,
lv_row_end TYPE zexcel_cell_row,
lv_sheet TYPE zexcel_sheet_title.
zcl_excel_common=>convert_range2column_a_row(
EXPORTING
i_range = value
i_allow_1dim_range = abap_true
IMPORTING
e_column_start = lv_column_start
e_column_start_int = lv_column_start_int
e_column_end = lv_column_end
e_column_end_int = lv_column_end_int
e_row_start = lv_row_start
e_row_end = lv_row_end
e_sheet = lv_sheet ).
ep_sheet_name = lv_sheet.
ep_start_row = lv_row_start.
ep_start_column = lv_column_start.
ep_stop_row = lv_row_end.
ep_stop_column = lv_column_end.
ENDMETHOD.
METHOD set_range_value. METHOD set_range_value.
me->value = ip_value. me->value = ip_value.
ENDMETHOD. ENDMETHOD.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_ranges DEFINITION CLASS zcl_excel_ranges DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_RANGES *"* public components of class ZCL_EXCEL_RANGES
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -29,6 +30,7 @@ CLASS zcl_excel_ranges DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_WORKSHEETS *"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -56,6 +58,7 @@ CLASS zcl_excel_ranges IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT ranges. CREATE OBJECT ranges.
@ -85,4 +88,15 @@ CLASS zcl_excel_ranges IMPLEMENTATION.
METHOD size. METHOD size.
ep_size = ranges->size( ). ep_size = ranges->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_ranges TYPE REF TO zcl_excel_ranges.
CREATE OBJECT lo_excel_ranges.
lo_excel_ranges->ranges ?= ranges->clone( ).
ro_object = lo_excel_ranges.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_row DEFINITION CLASS zcl_excel_row DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_ROW *"* public components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -60,6 +61,7 @@ CLASS zcl_excel_row DEFINITION
METHODS set_xf_index METHODS set_xf_index
IMPORTING IMPORTING
!ip_xf_index TYPE int4 . !ip_xf_index TYPE int4 .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_ROW *"* protected components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -82,6 +84,8 @@ CLASS zcl_excel_row IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
" Initialise values " Initialise values
me->row_index = ip_index. me->row_index = ip_index.
me->row_height = -1. me->row_height = -1.
@ -235,4 +239,21 @@ CLASS zcl_excel_row IMPLEMENTATION.
METHOD set_xf_index. METHOD set_xf_index.
me->xf_index = ip_xf_index. me->xf_index = ip_xf_index.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_row TYPE REF TO zcl_excel_row.
CREATE OBJECT lo_excel_row.
lo_excel_row->collapsed = collapsed.
lo_excel_row->custom_height = custom_height.
lo_excel_row->outline_level = outline_level.
lo_excel_row->row_height = row_height.
lo_excel_row->row_index = row_index.
lo_excel_row->visible = visible.
lo_excel_row->xf_index = xf_index.
ro_object = lo_excel_row.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -6,7 +6,8 @@
CLASS zcl_excel_rows DEFINITION CLASS zcl_excel_rows DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_ROWS *"* public components of class ZCL_EXCEL_ROWS
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -41,6 +42,7 @@ CLASS zcl_excel_rows DEFINITION
METHODS get_max_index METHODS get_max_index
RETURNING RETURNING
VALUE(ep_index) TYPE i . VALUE(ep_index) TYPE i .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
*"* private components of class ZABAP_EXCEL_RANGES *"* private components of class ZABAP_EXCEL_RANGES
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -82,6 +84,7 @@ CLASS zcl_excel_rows IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT rows. CREATE OBJECT rows.
ENDMETHOD. "CONSTRUCTOR ENDMETHOD. "CONSTRUCTOR
@ -138,4 +141,17 @@ CLASS zcl_excel_rows IMPLEMENTATION.
METHOD size. METHOD size.
ep_size = rows->size( ). ep_size = rows->size( ).
ENDMETHOD. "SIZE ENDMETHOD. "SIZE
METHOD clone.
DATA lo_excel_rows TYPE REF TO zcl_excel_rows.
CREATE OBJECT lo_excel_rows.
lo_excel_rows->rows ?= rows->clone( ).
lo_excel_rows->rows_hashed = rows_hashed.
ro_object = lo_excel_rows.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_sheet_setup DEFINITION CLASS zcl_excel_sheet_setup DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
*"* public components of class ZCL_EXCEL_SHEET_SETUP *"* public components of class ZCL_EXCEL_SHEET_SETUP
@ -149,6 +150,7 @@ CLASS zcl_excel_sheet_setup DEFINITION
!ep_odd_footer 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_header TYPE zexcel_s_worksheet_head_foot
!ep_even_footer TYPE zexcel_s_worksheet_head_foot . !ep_even_footer TYPE zexcel_s_worksheet_head_foot .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
*"* protected components of class ZCL_EXCEL_SHEET_SETUP *"* protected components of class ZCL_EXCEL_SHEET_SETUP
@ -170,6 +172,8 @@ CLASS zcl_excel_sheet_setup IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
orientation = me->c_orientation_default. orientation = me->c_orientation_default.
* default margins * default margins
@ -475,4 +479,46 @@ CLASS zcl_excel_sheet_setup IMPLEMENTATION.
IF ip_top IS SUPPLIED. margin_top = lv_coef * ip_top. ENDIF. IF ip_top IS SUPPLIED. margin_top = lv_coef * ip_top. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_sheet_setup TYPE REF TO zcl_excel_sheet_setup.
CREATE OBJECT lo_excel_sheet_setup.
lo_excel_sheet_setup->black_and_white = black_and_white.
lo_excel_sheet_setup->cell_comments = cell_comments.
lo_excel_sheet_setup->copies = copies.
lo_excel_sheet_setup->diff_oddeven_headerfooter = diff_oddeven_headerfooter.
lo_excel_sheet_setup->draft = draft.
lo_excel_sheet_setup->errors = errors.
lo_excel_sheet_setup->even_footer = even_footer.
lo_excel_sheet_setup->even_header = even_header.
lo_excel_sheet_setup->first_page_number = first_page_number.
lo_excel_sheet_setup->fit_to_height = fit_to_height.
lo_excel_sheet_setup->fit_to_page = fit_to_page.
lo_excel_sheet_setup->fit_to_width = fit_to_width.
lo_excel_sheet_setup->horizontal_centered = horizontal_centered.
lo_excel_sheet_setup->horizontal_dpi = horizontal_dpi.
lo_excel_sheet_setup->margin_bottom = margin_bottom.
lo_excel_sheet_setup->margin_footer = margin_footer.
lo_excel_sheet_setup->margin_header = margin_header.
lo_excel_sheet_setup->margin_left = margin_left.
lo_excel_sheet_setup->margin_right = margin_right.
lo_excel_sheet_setup->margin_top = margin_top.
lo_excel_sheet_setup->odd_footer = odd_footer.
lo_excel_sheet_setup->odd_header = odd_header.
lo_excel_sheet_setup->orientation = orientation.
lo_excel_sheet_setup->page_order = page_order.
lo_excel_sheet_setup->paper_height = paper_height.
lo_excel_sheet_setup->paper_size = paper_size.
lo_excel_sheet_setup->paper_width = paper_width.
lo_excel_sheet_setup->scale = scale.
lo_excel_sheet_setup->use_first_page_num = use_first_page_num.
lo_excel_sheet_setup->use_printer_defaults = use_printer_defaults.
lo_excel_sheet_setup->vertical_centered = vertical_centered.
lo_excel_sheet_setup->vertical_dpi = vertical_dpi.
ro_object = lo_excel_sheet_setup.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_style DEFINITION CLASS zcl_excel_style DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_STYLE *"* public components of class ZCL_EXCEL_STYLE
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -21,6 +22,7 @@ CLASS zcl_excel_style DEFINITION
METHODS get_guid METHODS get_guid
RETURNING RETURNING
VALUE(ep_guid) TYPE zexcel_cell_style . VALUE(ep_guid) TYPE zexcel_cell_style .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_STYLE *"* protected components of class ZABAP_EXCEL_STYLE
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -38,6 +40,7 @@ CLASS zcl_excel_style IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT font. CREATE OBJECT font.
CREATE OBJECT fill. CREATE OBJECT fill.
@ -101,4 +104,11 @@ CLASS zcl_excel_style IMPLEMENTATION.
ep_guid = me->guid. ep_guid = me->guid.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_style TYPE REF TO zcl_excel_style.
CREATE OBJECT lo_excel_style EXPORTING io_clone_of = me.
ro_object = lo_excel_style.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_style_cond DEFINITION CLASS zcl_excel_style_cond DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
CLASS zcl_excel_style_conditional DEFINITION LOAD . CLASS zcl_excel_style_conditional DEFINITION LOAD .
@ -120,6 +121,7 @@ CLASS zcl_excel_style_cond DEFINITION
METHODS get_guid METHODS get_guid
RETURNING RETURNING
VALUE(ep_guid) TYPE zexcel_cell_style . VALUE(ep_guid) TYPE zexcel_cell_style .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_STYLE_FONT *"* protected components of class ZABAP_EXCEL_STYLE_FONT
*"* do not include other source files here!!! *"* do not include other source files here!!!
*"* protected components of class ZABAP_EXCEL_STYLE_FONT *"* protected components of class ZABAP_EXCEL_STYLE_FONT
@ -184,6 +186,9 @@ CLASS zcl_excel_style_cond IMPLEMENTATION.
METHOD constructor. METHOD constructor.
DATA: ls_iconset TYPE zexcel_conditional_iconset. DATA: ls_iconset TYPE zexcel_conditional_iconset.
super->constructor( ).
ls_iconset-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights. ls_iconset-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights.
ls_iconset-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent. ls_iconset-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo1_value = '0'. ls_iconset-cfvo1_value = '0'.
@ -240,4 +245,24 @@ CLASS zcl_excel_style_cond IMPLEMENTATION.
ip_stop_column = ip_stop_column ). ip_stop_column = ip_stop_column ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_style_cond TYPE REF TO zcl_excel_style_cond.
CREATE OBJECT lo_excel_style_cond EXPORTING ip_dimension_range = mv_rule_range.
lo_excel_style_cond->mode_above_average = mode_above_average.
lo_excel_style_cond->mode_cellis = mode_cellis.
lo_excel_style_cond->mode_colorscale = mode_colorscale.
lo_excel_style_cond->mode_databar = mode_databar.
lo_excel_style_cond->mode_expression = mode_expression.
lo_excel_style_cond->mode_iconset = mode_iconset.
lo_excel_style_cond->mode_textfunction = mode_textfunction.
lo_excel_style_cond->mode_top10 = mode_top10.
lo_excel_style_cond->priority = priority.
lo_excel_style_cond->rule = rule.
ro_object = lo_excel_style_cond.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_styles DEFINITION CLASS zcl_excel_styles DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_STYLES *"* public components of class ZCL_EXCEL_STYLES
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -34,6 +35,7 @@ CLASS zcl_excel_styles DEFINITION
!io_style TYPE REF TO zcl_excel_style !io_style TYPE REF TO zcl_excel_style
RETURNING RETURNING
VALUE(ep_style_code) TYPE i . VALUE(ep_style_code) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_WORKSHEETS *"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
*"* protected components of class ZABAP_EXCEL_WORKSHEETS *"* protected components of class ZABAP_EXCEL_WORKSHEETS
@ -67,6 +69,7 @@ CLASS zcl_excel_styles IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT styles. CREATE OBJECT styles.
ENDMETHOD. ENDMETHOD.
@ -113,4 +116,15 @@ CLASS zcl_excel_styles IMPLEMENTATION.
ep_size = styles->size( ). ep_size = styles->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_styles TYPE REF TO zcl_excel_styles.
CREATE OBJECT lo_excel_styles.
lo_excel_styles->styles ?= styles->clone( ).
ro_object = lo_excel_styles.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_styles_cond DEFINITION CLASS zcl_excel_styles_cond DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_STYLES_COND *"* public components of class ZCL_EXCEL_STYLES_COND
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -29,6 +30,7 @@ CLASS zcl_excel_styles_cond DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZABAP_EXCEL_WORKSHEETS *"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -55,6 +57,7 @@ CLASS zcl_excel_styles_cond IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT styles_cond. CREATE OBJECT styles_cond.
@ -86,4 +89,15 @@ CLASS zcl_excel_styles_cond IMPLEMENTATION.
METHOD size. METHOD size.
ep_size = styles_cond->size( ). ep_size = styles_cond->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_styles_cond TYPE REF TO zcl_excel_styles_cond.
CREATE OBJECT lo_excel_styles_cond.
lo_excel_styles_cond->styles_cond ?= styles_cond->clone( ).
ro_object = lo_excel_styles_cond.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_table DEFINITION CLASS zcl_excel_table DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_TABLE *"* public components of class ZCL_EXCEL_TABLE
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -75,6 +76,7 @@ CLASS zcl_excel_table DEFINITION
CONSTANTS builtinstyle_medium25 TYPE zexcel_table_style VALUE 'TableStyleMedium26'. "#EC NOTEXT CONSTANTS builtinstyle_medium25 TYPE zexcel_table_style VALUE 'TableStyleMedium26'. "#EC NOTEXT
CONSTANTS builtinstyle_medium27 TYPE zexcel_table_style VALUE 'TableStyleMedium27'. "#EC NOTEXT CONSTANTS builtinstyle_medium27 TYPE zexcel_table_style VALUE 'TableStyleMedium27'. "#EC NOTEXT
METHODS clone REDEFINITION.
METHODS get_totals_formula METHODS get_totals_formula
IMPORTING IMPORTING
!ip_column TYPE clike !ip_column TYPE clike
@ -301,4 +303,19 @@ CLASS zcl_excel_table IMPLEMENTATION.
METHOD set_id. METHOD set_id.
id = iv_id. id = iv_id.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_table TYPE REF TO zcl_excel_table.
CREATE OBJECT lo_excel_table.
lo_excel_table->fieldcat = fieldcat.
lo_excel_table->id = id.
lo_excel_table->name = name.
lo_excel_table->settings = settings.
lo_excel_table->table_data = table_data.
ro_object = lo_excel_table.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,6 +1,7 @@
CLASS zcl_excel_worksheet DEFINITION CLASS zcl_excel_worksheet DEFINITION
PUBLIC PUBLIC
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
*"* public components of class ZCL_EXCEL_WORKSHEET *"* public components of class ZCL_EXCEL_WORKSHEET
@ -305,6 +306,7 @@ CLASS zcl_excel_worksheet DEFINITION
RAISING RAISING
zcx_excel . zcx_excel .
CLASS-METHODS class_constructor . CLASS-METHODS class_constructor .
METHODS clone REDEFINITION.
METHODS constructor METHODS constructor
IMPORTING IMPORTING
!ip_excel TYPE REF TO zcl_excel !ip_excel TYPE REF TO zcl_excel
@ -1993,6 +1995,8 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
METHOD constructor. METHOD constructor.
DATA: lv_title TYPE zexcel_sheet_title. DATA: lv_title TYPE zexcel_sheet_title.
super->constructor( ).
me->excel = ip_excel. me->excel = ip_excel.
me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call
@ -4407,4 +4411,196 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
METHOD zif_excel_sheet_vba_project~set_codename_pr. METHOD zif_excel_sheet_vba_project~set_codename_pr.
me->zif_excel_sheet_vba_project~codename_pr = ip_codename_pr. me->zif_excel_sheet_vba_project~codename_pr = ip_codename_pr.
ENDMETHOD. "ZIF_EXCEL_SHEET_VBA_PROJECT~SET_CODENAME_PR ENDMETHOD. "ZIF_EXCEL_SHEET_VBA_PROJECT~SET_CODENAME_PR
METHOD clone.
DATA: lo_excel_worksheet TYPE REF TO zcl_excel_worksheet,
lo_drawing TYPE REF TO zcl_excel_drawing,
lo_new_drawing TYPE REF TO zcl_excel_drawing,
lo_range TYPE REF TO zcl_excel_range,
lo_new_range TYPE REF TO zcl_excel_range,
lo_iterator TYPE REF TO zcl_excel_collection_iterator,
lv_range TYPE string,
lv_sheet_name TYPE zexcel_sheet_title,
lv_start_row TYPE zexcel_cell_row,
lv_start_column TYPE zexcel_cell_column_alpha,
lv_stop_row TYPE zexcel_cell_row,
lv_stop_column TYPE zexcel_cell_column_alpha,
lo_table TYPE REF TO zcl_excel_table,
lo_new_table TYPE REF TO zcl_excel_table,
lv_table_id TYPE i.
CREATE OBJECT lo_excel_worksheet
EXPORTING
ip_excel = excel.
IF charts IS BOUND.
lo_iterator = charts->get_iterator( ).
WHILE lo_iterator->has_next( ) = abap_true.
lo_drawing ?= lo_iterator->get_next( ).
lo_new_drawing = excel->add_new_drawing(
ip_type = lo_drawing->get_type( )
ip_title = lo_drawing->title ).
lo_drawing->clone_attributes_to( lo_new_drawing ).
lo_excel_worksheet->add_drawing( lo_new_drawing ).
ENDWHILE.
ENDIF.
IF columns IS BOUND.
lo_excel_worksheet->columns ?= columns->clone( ).
ENDIF.
IF column_default IS BOUND.
lo_excel_worksheet->column_default ?= column_default->clone( ).
ENDIF.
IF comments IS BOUND.
lo_excel_worksheet->comments ?= comments->clone( ).
ENDIF.
IF data_validations IS BOUND.
lo_excel_worksheet->data_validations ?= data_validations->clone( ).
ENDIF.
IF drawings IS BOUND.
IF drawings->size( ) > 0.
ASSERT 1 = 1. " For quick debug
ENDIF.
lo_excel_worksheet->drawings ?= drawings->clone( ).
ENDIF.
IF hyperlinks IS BOUND.
lo_excel_worksheet->hyperlinks ?= hyperlinks->clone( ).
ENDIF.
IF mo_pagebreaks IS BOUND.
lo_excel_worksheet->mo_pagebreaks ?= mo_pagebreaks->clone( ).
ENDIF.
IF ranges IS BOUND.
lo_iterator = ranges->get_iterator( ).
WHILE lo_iterator->has_next( ) = abap_true.
lo_range ?= lo_iterator->get_next( ).
lo_new_range = lo_excel_worksheet->add_new_range( ).
lo_new_range->name = lo_range->name.
IF lo_range->get_value( ) CS ','.
" Dirty solution for named range with 2 or more areas (especially print settings, repeated columns and rows),
" hopefully abap2xlsx will better support this in the future.
lv_range = replace( val = lo_range->get_value( )
sub = get_title( ) && '!'
with = lo_excel_worksheet->get_title( ) && '!'
occ = 0 ).
lo_new_range->set_range_value( lv_range ).
ELSE.
lo_range->get_value2(
IMPORTING
ep_sheet_name = lv_sheet_name
ep_start_row = lv_start_row
ep_start_column = lv_start_column
ep_stop_row = lv_stop_row
ep_stop_column = lv_stop_column ).
IF lv_sheet_name = get_title( ).
lv_sheet_name = lo_excel_worksheet->get_title( ).
ENDIF.
lo_new_range->set_value(
ip_sheet_name = lv_sheet_name
ip_start_row = lv_start_row
ip_start_column = lv_start_column
ip_stop_row = lv_stop_row
ip_stop_column = lv_stop_column ).
ENDIF.
ENDWHILE.
ENDIF.
IF rows IS BOUND.
lo_excel_worksheet->rows ?= rows->clone( ).
ENDIF.
IF row_default IS BOUND.
lo_excel_worksheet->row_default ?= row_default->clone( ).
ENDIF.
IF sheet_setup IS BOUND.
lo_excel_worksheet->sheet_setup ?= sheet_setup->clone( ).
ENDIF.
IF styles_cond IS BOUND.
lo_excel_worksheet->styles_cond ?= styles_cond->clone( ).
ENDIF.
IF tables IS BOUND.
lo_iterator = tables->get_iterator( ).
WHILE lo_iterator->has_next( ) = abap_true.
lo_table ?= lo_iterator->get_next( ).
lo_new_table ?= lo_table->clone( ).
lv_table_id = excel->get_next_table_id( ).
lo_new_table->set_id( iv_id = lv_table_id ).
lo_excel_worksheet->tables->add( lo_new_table ).
ENDWHILE.
ENDIF.
lo_excel_worksheet->active_cell = active_cell.
lo_excel_worksheet->column_formulas = column_formulas.
lo_excel_worksheet->default_excel_date_format = default_excel_date_format.
lo_excel_worksheet->default_excel_time_format = default_excel_time_format.
lo_excel_worksheet->excel = excel.
lo_excel_worksheet->freeze_pane_cell_column = freeze_pane_cell_column.
lo_excel_worksheet->freeze_pane_cell_row = freeze_pane_cell_row.
lo_excel_worksheet->lower_cell = lower_cell.
lo_excel_worksheet->mt_ignored_errors = mt_ignored_errors.
lo_excel_worksheet->mt_merged_cells = mt_merged_cells.
lo_excel_worksheet->mt_row_outlines = mt_row_outlines.
lo_excel_worksheet->print_gridlines = print_gridlines.
lo_excel_worksheet->print_title_col_from = print_title_col_from.
lo_excel_worksheet->print_title_col_to = print_title_col_to.
lo_excel_worksheet->print_title_row_from = print_title_row_from.
lo_excel_worksheet->print_title_row_to = print_title_row_to.
lo_excel_worksheet->right_to_left = right_to_left.
lo_excel_worksheet->sheet_content = sheet_content.
lo_excel_worksheet->show_gridlines = show_gridlines.
lo_excel_worksheet->show_rowcolheaders = show_rowcolheaders.
lo_excel_worksheet->styles = styles.
lo_excel_worksheet->tabcolor = tabcolor.
lo_excel_worksheet->upper_cell = upper_cell.
lo_excel_worksheet->zif_excel_sheet_properties~hidden = zif_excel_sheet_properties~hidden.
lo_excel_worksheet->zif_excel_sheet_properties~hide_columns_from = zif_excel_sheet_properties~hide_columns_from.
lo_excel_worksheet->zif_excel_sheet_properties~selected = zif_excel_sheet_properties~selected.
lo_excel_worksheet->zif_excel_sheet_properties~show_zeros = zif_excel_sheet_properties~show_zeros.
lo_excel_worksheet->zif_excel_sheet_properties~style = zif_excel_sheet_properties~style.
lo_excel_worksheet->zif_excel_sheet_properties~summarybelow = zif_excel_sheet_properties~summarybelow.
lo_excel_worksheet->zif_excel_sheet_properties~summaryright = zif_excel_sheet_properties~summaryright.
lo_excel_worksheet->zif_excel_sheet_properties~zoomscale = zif_excel_sheet_properties~zoomscale.
lo_excel_worksheet->zif_excel_sheet_properties~zoomscale_normal = zif_excel_sheet_properties~zoomscale_normal.
lo_excel_worksheet->zif_excel_sheet_properties~zoomscale_pagelayoutview = zif_excel_sheet_properties~zoomscale_pagelayoutview.
lo_excel_worksheet->zif_excel_sheet_properties~zoomscale_sheetlayoutview = zif_excel_sheet_properties~zoomscale_sheetlayoutview.
lo_excel_worksheet->zif_excel_sheet_protection~auto_filter = zif_excel_sheet_protection~auto_filter.
lo_excel_worksheet->zif_excel_sheet_protection~delete_columns = zif_excel_sheet_protection~delete_columns.
lo_excel_worksheet->zif_excel_sheet_protection~delete_rows = zif_excel_sheet_protection~delete_rows.
lo_excel_worksheet->zif_excel_sheet_protection~format_cells = zif_excel_sheet_protection~format_cells.
lo_excel_worksheet->zif_excel_sheet_protection~format_columns = zif_excel_sheet_protection~format_columns.
lo_excel_worksheet->zif_excel_sheet_protection~format_rows = zif_excel_sheet_protection~format_rows.
lo_excel_worksheet->zif_excel_sheet_protection~insert_columns = zif_excel_sheet_protection~insert_columns.
lo_excel_worksheet->zif_excel_sheet_protection~insert_hyperlinks = zif_excel_sheet_protection~insert_hyperlinks.
lo_excel_worksheet->zif_excel_sheet_protection~insert_rows = zif_excel_sheet_protection~insert_rows.
lo_excel_worksheet->zif_excel_sheet_protection~objects = zif_excel_sheet_protection~objects.
lo_excel_worksheet->zif_excel_sheet_protection~password = zif_excel_sheet_protection~password.
lo_excel_worksheet->zif_excel_sheet_protection~pivot_tables = zif_excel_sheet_protection~pivot_tables.
lo_excel_worksheet->zif_excel_sheet_protection~protected = zif_excel_sheet_protection~protected.
lo_excel_worksheet->zif_excel_sheet_protection~scenarios = zif_excel_sheet_protection~scenarios.
lo_excel_worksheet->zif_excel_sheet_protection~select_locked_cells = zif_excel_sheet_protection~select_locked_cells.
lo_excel_worksheet->zif_excel_sheet_protection~select_unlocked_cells = zif_excel_sheet_protection~select_unlocked_cells.
lo_excel_worksheet->zif_excel_sheet_protection~sheet = zif_excel_sheet_protection~sheet.
lo_excel_worksheet->zif_excel_sheet_protection~sort = zif_excel_sheet_protection~sort.
lo_excel_worksheet->zif_excel_sheet_vba_project~codename = zif_excel_sheet_vba_project~codename.
lo_excel_worksheet->zif_excel_sheet_vba_project~codename_pr = zif_excel_sheet_vba_project~codename_pr.
lo_excel_worksheet->zif_excel_sheet_vba_project~vbaproject = zif_excel_sheet_vba_project~vbaproject.
ro_object = lo_excel_worksheet.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,6 +1,7 @@
CLASS zcl_excel_worksheet_pagebreaks DEFINITION CLASS zcl_excel_worksheet_pagebreaks DEFINITION
PUBLIC PUBLIC
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
PUBLIC SECTION. PUBLIC SECTION.
@ -21,6 +22,7 @@ CLASS zcl_excel_worksheet_pagebreaks DEFINITION
METHODS get_all_pagebreaks METHODS get_all_pagebreaks
RETURNING RETURNING
VALUE(rt_pagebreaks) TYPE tt_pagebreak_at . VALUE(rt_pagebreaks) TYPE tt_pagebreak_at .
METHODS clone REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
DATA mt_pagebreaks TYPE tt_pagebreak_at . DATA mt_pagebreaks TYPE tt_pagebreak_at .
@ -47,4 +49,15 @@ CLASS zcl_excel_worksheet_pagebreaks IMPLEMENTATION.
METHOD get_all_pagebreaks. METHOD get_all_pagebreaks.
rt_pagebreaks = me->mt_pagebreaks. rt_pagebreaks = me->mt_pagebreaks.
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_worksheet_pagebreaks TYPE REF TO zcl_excel_worksheet_pagebreaks.
CREATE OBJECT lo_excel_worksheet_pagebreaks.
lo_excel_worksheet_pagebreaks->mt_pagebreaks = mt_pagebreaks.
ro_object = lo_excel_worksheet_pagebreaks.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,7 +1,8 @@
CLASS zcl_excel_worksheets DEFINITION CLASS zcl_excel_worksheets DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC
INHERITING FROM zcl_excel_base.
*"* public components of class ZCL_EXCEL_WORKSHEETS *"* public components of class ZCL_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
@ -32,6 +33,7 @@ CLASS zcl_excel_worksheets DEFINITION
METHODS size METHODS size
RETURNING RETURNING
VALUE(ep_size) TYPE i . VALUE(ep_size) TYPE i .
METHODS clone REDEFINITION.
*"* protected components of class ZCL_EXCEL_WORKSHEETS *"* protected components of class ZCL_EXCEL_WORKSHEETS
*"* do not include other source files here!!! *"* do not include other source files here!!!
PROTECTED SECTION. PROTECTED SECTION.
@ -63,6 +65,7 @@ CLASS zcl_excel_worksheets IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( ).
CREATE OBJECT worksheets. CREATE OBJECT worksheets.
ENDMETHOD. ENDMETHOD.
@ -103,4 +106,18 @@ CLASS zcl_excel_worksheets IMPLEMENTATION.
ep_size = worksheets->size( ). ep_size = worksheets->size( ).
ENDMETHOD. ENDMETHOD.
METHOD clone.
DATA lo_excel_worksheets TYPE REF TO zcl_excel_worksheets.
CREATE OBJECT lo_excel_worksheets.
lo_excel_worksheets->worksheets ?= worksheets->clone( ).
lo_excel_worksheets->active_worksheet = active_worksheet.
lo_excel_worksheets->name = name.
ro_object = lo_excel_worksheets.
ENDMETHOD.
ENDCLASS. ENDCLASS.