diff --git a/src/zangry_birds.prog.abap b/src/zangry_birds.prog.abap
index a31d4ea..788d37c 100644
--- a/src/zangry_birds.prog.abap
+++ b/src/zangry_birds.prog.abap
@@ -22,8 +22,8 @@ DATA: lo_excel TYPE REF TO zcl_excel,
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_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
+ 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,
@@ -700,8 +700,8 @@ START-OF-SELECTION.
LOOP AT lt_mapper INTO ls_mapper.
lv_col_str = zcl_excel_common=>convert_column2alpha( lv_col ).
IF ls_mapper IS INITIAL.
- lo_row_dimension = lo_worksheet->get_row_dimension( ip_row = lv_row ).
- lo_row_dimension->set_row_height( ip_row_height = 8 ).
+ lo_row = lo_worksheet->get_row( ip_row = lv_row ).
+ lo_row->set_row_height( ip_row_height = 8 ).
lv_col = 1.
lv_row = lv_row + 1.
CONTINUE.
@@ -712,8 +712,8 @@ START-OF-SELECTION.
ip_style = ls_mapper ).
lv_col = lv_col + 1.
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = lv_col_str ).
- lo_column_dimension->set_width( ip_width = 2 ).
+ lo_column = lo_worksheet->get_column( ip_column = lv_col_str ).
+ lo_column->set_width( ip_width = 2 ).
ENDLOOP.
lo_worksheet->set_show_gridlines( i_show_gridlines = abap_false ).
@@ -723,15 +723,15 @@ START-OF-SELECTION.
ip_value = 'Created with abap2xlsx'
ip_style = lv_style_credit_guid ).
- lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.abap2xlsx.org' ).
+ lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.plinky.it/abap/abap2xlsx.php' ).
lo_worksheet->set_cell( ip_column = 'AP'
ip_row = 24
- ip_value = 'http://www.abap2xlsx.org'
+ ip_value = 'http://www.plinky.it/abap/abap2xlsx.php'
ip_style = lv_style_link_guid
ip_hyperlink = lo_hyperlink ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'AP' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'AP' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
lo_worksheet->set_merge( ip_row = 15 ip_column_start = 'AP' ip_row_to = 22 ip_column_end = 'AR' ).
lo_worksheet->set_merge( ip_row = 24 ip_column_start = 'AP' ip_row_to = 26 ip_column_end = 'AR' ).
diff --git a/src/zcl_excel.clas.abap b/src/zcl_excel.clas.abap
index 38af59c..6a1b3c0 100644
--- a/src/zcl_excel.clas.abap
+++ b/src/zcl_excel.clas.abap
@@ -14,12 +14,6 @@ public section.
data SECURITY type ref to ZCL_EXCEL_SECURITY .
data USE_TEMPLATE type XFELD .
- methods SET_THEME
- importing
- !IO_THEME type ref to ZCL_EXCEL_THEME .
- methods GET_THEME
- exporting
- !EO_THEME type ref to ZCL_EXCEL_THEME .
methods ADD_NEW_AUTOFILTER
importing
!IO_SHEET type ref to ZCL_EXCEL_WORKSHEET
@@ -55,12 +49,12 @@ public section.
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
raising
ZCX_EXCEL .
- methods DELETE_WORKSHEET_BY_NAME
- importing
- !IV_TITLE type CLIKE .
methods DELETE_WORKSHEET_BY_INDEX
importing
!IV_INDEX type NUMERIC .
+ methods DELETE_WORKSHEET_BY_NAME
+ importing
+ !IV_TITLE type CLIKE .
methods GET_ACTIVE_SHEET_INDEX
returning
value(R_ACTIVE_WORKSHEET) type ZEXCEL_ACTIVE_WORKSHEET .
@@ -107,6 +101,9 @@ public section.
value(EP_STYLEMAPPING) type ZEXCEL_S_STYLEMAPPING
raising
ZCX_EXCEL .
+ methods GET_THEME
+ exporting
+ !EO_THEME type ref to ZCL_EXCEL_THEME .
methods GET_WORKSHEETS_ITERATOR
returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
@@ -116,16 +113,16 @@ public section.
methods GET_WORKSHEETS_SIZE
returning
value(EP_SIZE) type I .
- methods GET_WORKSHEET_BY_NAME
- importing
- !IP_SHEET_NAME type ZEXCEL_SHEET_TITLE
- returning
- value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
methods GET_WORKSHEET_BY_INDEX
importing
!IV_INDEX type NUMERIC
returning
value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
+ methods GET_WORKSHEET_BY_NAME
+ importing
+ !IP_SHEET_NAME type ZEXCEL_SHEET_TITLE
+ returning
+ value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
methods SET_ACTIVE_SHEET_INDEX
importing
!I_ACTIVE_WORKSHEET type ZEXCEL_ACTIVE_WORKSHEET
@@ -139,8 +136,9 @@ public section.
!IP_STYLE type ZEXCEL_CELL_STYLE
raising
ZCX_EXCEL .
-*"* protected components of class ZCL_EXCEL
-*"* do not include other source files here!!!
+ methods SET_THEME
+ importing
+ !IO_THEME type ref to ZCL_EXCEL_THEME .
protected section.
data WORKSHEETS type ref to ZCL_EXCEL_WORKSHEETS .
@@ -159,6 +157,11 @@ private section.
data T_STYLEMAPPING2 type ZEXCEL_T_STYLEMAPPING2 .
data THEME type ref to ZCL_EXCEL_THEME .
+ methods GET_STYLE_FROM_GUID
+ importing
+ !IP_GUID type ZEXCEL_CELL_STYLE
+ returning
+ value(EO_STYLE) type ref to ZCL_EXCEL_STYLE .
methods STYLEMAPPING_DYNAMIC_STYLE
importing
!IP_STYLE type ref to ZCL_EXCEL_STYLE
@@ -433,6 +436,23 @@ method GET_STYLES_ITERATOR.
endmethod.
+METHOD get_style_from_guid.
+
+ DATA: lo_style TYPE REF TO zcl_excel_style,
+ lo_iterator TYPE REF TO cl_object_collection_iterator.
+
+ lo_iterator = styles->get_iterator( ).
+ WHILE lo_iterator->has_next( ) = abap_true.
+ lo_style ?= lo_iterator->get_next( ).
+ IF lo_style->get_guid( ) = ip_guid.
+ eo_style = lo_style.
+ RETURN.
+ ENDIF.
+ ENDWHILE.
+
+ENDMETHOD.
+
+
method GET_STYLE_INDEX_IN_STYLES.
DATA: index TYPE syindex.
DATA: lo_iterator TYPE REF TO cl_object_collection_iterator,
@@ -461,9 +481,9 @@ method GET_STYLE_INDEX_IN_STYLES.
endmethod.
-method GET_STYLE_TO_GUID.
+METHOD get_style_to_guid.
+ DATA: lo_style TYPE REF TO zcl_excel_style.
" # issue 139
-
READ TABLE me->t_stylemapping2 INTO ep_stylemapping WITH TABLE KEY guid = ip_guid.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zcx_excel
@@ -472,13 +492,12 @@ method GET_STYLE_TO_GUID.
ENDIF.
IF ep_stylemapping-dynamic_style_guid IS NOT INITIAL.
- zcl_excel_common=>recursive_class_to_struct( EXPORTING i_source = ep_stylemapping-cl_style
+ lo_style = me->get_style_from_guid( ip_guid ).
+ zcl_excel_common=>recursive_class_to_struct( EXPORTING i_source = lo_style
CHANGING e_target = ep_stylemapping-complete_style
e_targetx = ep_stylemapping-complete_stylex ).
ENDIF.
-
-
- endmethod.
+ENDMETHOD.
method GET_THEME.
@@ -595,7 +614,6 @@ method STYLEMAPPING_DYNAMIC_STYLE.
eo_style2-dynamic_style_guid = ip_style->get_guid( ).
eo_style2-guid = eo_style2-dynamic_style_guid.
eo_style2-added_to_iterator = abap_true.
- eo_style2-cl_style = ip_style.
* don't care about attributes here, since this data may change
* dynamically
diff --git a/src/zcl_excel.clas.xml b/src/zcl_excel.clas.xml
index de0529e..41afad4 100644
--- a/src/zcl_excel.clas.xml
+++ b/src/zcl_excel.clas.xml
@@ -286,6 +286,12 @@
I
Get styles iterator
+
+ ZCL_EXCEL
+ GET_STYLE_FROM_GUID
+ E
+ Return a style object from a GUID
+
ZCL_EXCEL
GET_STYLE_INDEX_IN_STYLES
diff --git a/src/zcl_excel_autofilters.clas.abap b/src/zcl_excel_autofilters.clas.abap
index 59c82e6..ebcc2a3 100644
--- a/src/zcl_excel_autofilters.clas.abap
+++ b/src/zcl_excel_autofilters.clas.abap
@@ -35,9 +35,9 @@ public section.
value(R_SIZE) type I .
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_AUTOFILTERS
+*"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!!
+protected section.
private section.
types:
diff --git a/src/zcl_excel_worksheet_columndime.clas.abap b/src/zcl_excel_column.clas.abap
similarity index 76%
rename from src/zcl_excel_worksheet_columndime.clas.abap
rename to src/zcl_excel_column.clas.abap
index 9b1d6c4..35c310b 100644
--- a/src/zcl_excel_worksheet_columndime.clas.abap
+++ b/src/zcl_excel_column.clas.abap
@@ -1,9 +1,9 @@
-class ZCL_EXCEL_WORKSHEET_COLUMNDIME definition
+class ZCL_EXCEL_COLUMN definition
public
final
create public .
-*"* public components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
+*"* public components of class ZCL_EXCEL_COLUMN
*"* do not include other source files here!!!
public section.
type-pools ABAP .
@@ -38,17 +38,17 @@ public section.
importing
!IP_AUTO_SIZE type ABAP_BOOL
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods SET_COLLAPSED
importing
!IP_COLLAPSED type ABAP_BOOL
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods SET_COLUMN_INDEX
importing
!IP_INDEX type ZEXCEL_CELL_COLUMN_ALPHA
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods SET_OUTLINE_LEVEL
importing
!IP_OUTLINE_LEVEL type INT4 .
@@ -56,19 +56,19 @@ public section.
importing
!IP_VISIBLE type ABAP_BOOL
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods SET_WIDTH
importing
!IP_WIDTH type SIMPLE
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN
raising
ZCX_EXCEL .
methods SET_XF_INDEX
importing
!IP_XF_INDEX type INT4
returning
- value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(IO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods SET_COLUMN_STYLE_BY_GUID
importing
!IP_STYLE_GUID type ZEXCEL_CELL_STYLE
@@ -79,10 +79,10 @@ public section.
value(EP_STYLE_GUID) type ZEXCEL_CELL_STYLE
raising
ZCX_EXCEL .
-*"* protected components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
+*"* protected components of class ZCL_EXCEL_COLUMN
*"* do not include other source files here!!!
protected section.
-*"* private components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
+*"* private components of class ZCL_EXCEL_COLUMN
*"* do not include other source files here!!!
private section.
@@ -100,7 +100,7 @@ ENDCLASS.
-CLASS ZCL_EXCEL_WORKSHEET_COLUMNDIME IMPLEMENTATION.
+CLASS ZCL_EXCEL_COLUMN IMPLEMENTATION.
method CONSTRUCTOR.
@@ -163,22 +163,22 @@ method GET_XF_INDEX.
endmethod.
-method SET_AUTO_SIZE.
+METHOD set_auto_size.
me->auto_size = ip_auto_size.
- r_worksheet_columndime = me.
- endmethod.
+ io_column = me.
+ENDMETHOD.
-method SET_COLLAPSED.
- me->Collapsed = ip_Collapsed.
- r_worksheet_columndime = me.
- endmethod.
+METHOD set_collapsed.
+ me->collapsed = ip_collapsed.
+ io_column = me.
+ENDMETHOD.
-method SET_COLUMN_INDEX.
+METHOD set_column_index.
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
- r_worksheet_columndime = me.
- endmethod.
+ io_column = me.
+ENDMETHOD.
method SET_COLUMN_STYLE_BY_GUID.
@@ -205,26 +205,26 @@ method SET_OUTLINE_LEVEL.
endmethod.
-method SET_VISIBLE.
- me->Visible = ip_Visible.
- r_worksheet_columndime = me.
- endmethod.
+METHOD set_visible.
+ me->visible = ip_visible.
+ io_column = me.
+ENDMETHOD.
-method SET_WIDTH.
+METHOD set_width.
TRY.
me->width = ip_width.
- r_worksheet_columndime = me.
+ io_column = me.
CATCH cx_sy_conversion_no_number.
RAISE EXCEPTION TYPE zcx_excel
EXPORTING
error = 'Unable to interpret width as number'.
ENDTRY.
- endmethod.
+ENDMETHOD.
-method SET_XF_INDEX.
- me->XF_INDEX = ip_XF_INDEX.
- r_worksheet_columndime = me.
- endmethod.
+METHOD set_xf_index.
+ me->xf_index = ip_xf_index.
+ io_column = me.
+ENDMETHOD.
ENDCLASS.
diff --git a/src/zcl_excel_column.clas.xml b/src/zcl_excel_column.clas.xml
new file mode 100644
index 0000000..b92f1e7
--- /dev/null
+++ b/src/zcl_excel_column.clas.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+ ZCL_EXCEL_COLUMN
+ 1
+ E
+ Worksheet Column
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
+ ZCL_EXCEL_COLUMN
+ AUTO_SIZE
+ E
+ Auto size?
+
+
+ ZCL_EXCEL_COLUMN
+ COLLAPSED
+ E
+ Collapsed?
+
+
+ ZCL_EXCEL_COLUMN
+ COLUMN_INDEX
+ E
+ Column index
+
+
+ ZCL_EXCEL_COLUMN
+ EXCEL
+ E
+ Excel creator
+
+
+ ZCL_EXCEL_COLUMN
+ GET_COLUMN_STYLE_GUID
+ E
+ Get guid of column style
+
+
+ ZCL_EXCEL_COLUMN
+ OUTLINE_LEVEL
+ E
+ Outline level
+
+
+ ZCL_EXCEL_COLUMN
+ SET_COLUMN_STYLE_BY_GUID
+ E
+ Set column style by style guid
+
+
+ ZCL_EXCEL_COLUMN
+ STYLE_GUID
+ E
+ Style identifier
+
+
+ ZCL_EXCEL_COLUMN
+ VISIBLE
+ E
+ Visible?
+
+
+ ZCL_EXCEL_COLUMN
+ WIDTH
+ E
+ Column width
+
+
+ ZCL_EXCEL_COLUMN
+ WORKSHEET
+ E
+ Worksheet
+
+
+ ZCL_EXCEL_COLUMN
+ XF_INDEX
+ E
+ Index to cellXf
+
+
+
+
+
diff --git a/src/zcl_excel_columns.clas.abap b/src/zcl_excel_columns.clas.abap
new file mode 100644
index 0000000..ddbdae5
--- /dev/null
+++ b/src/zcl_excel_columns.clas.abap
@@ -0,0 +1,87 @@
+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.
+
+ 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.
+*"* private components of class ZABAP_EXCEL_RANGES
+*"* do not include other source files here!!!
+private section.
+
+ data COLUMNS type ref to CL_OBJECT_COLLECTION .
+ENDCLASS.
+
+
+
+CLASS ZCL_EXCEL_COLUMNS IMPLEMENTATION.
+
+
+METHOD add.
+ columns->add( io_column ).
+ENDMETHOD.
+
+
+METHOD clear.
+ columns->clear( ).
+ENDMETHOD.
+
+
+METHOD constructor.
+
+ CREATE OBJECT columns.
+
+ENDMETHOD.
+
+
+METHOD get.
+ eo_column ?= columns->if_object_collection~get( ip_index ).
+ENDMETHOD.
+
+
+METHOD get_iterator.
+ eo_iterator ?= columns->if_object_collection~get_iterator( ).
+ENDMETHOD.
+
+
+METHOD is_empty.
+ is_empty = columns->if_object_collection~is_empty( ).
+ENDMETHOD.
+
+
+METHOD remove.
+ columns->remove( io_column ).
+ENDMETHOD.
+
+
+METHOD size.
+ ep_size = columns->if_object_collection~size( ).
+ENDMETHOD.
+ENDCLASS.
diff --git a/src/zcl_excel_columns.clas.xml b/src/zcl_excel_columns.clas.xml
new file mode 100644
index 0000000..21c109f
--- /dev/null
+++ b/src/zcl_excel_columns.clas.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+ ZCL_EXCEL_COLUMNS
+ 1
+ E
+ Ranges collection
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
+ ZCL_EXCEL_COLUMNS
+ ADD
+ E
+ Adds an Element to the Collection
+
+
+ ZCL_EXCEL_COLUMNS
+ CLEAR
+ E
+ Initializes the Collection
+
+
+ ZCL_EXCEL_COLUMNS
+ CONSTRUCTOR
+ E
+ CONSTRUCTOR
+
+
+ ZCL_EXCEL_COLUMNS
+ GET
+ E
+ Gets Element
+
+
+ ZCL_EXCEL_COLUMNS
+ GET_ITERATOR
+ E
+ Returns an iterator
+
+
+ ZCL_EXCEL_COLUMNS
+ IS_EMPTY
+ E
+ Checks whether elements are contained
+
+
+ ZCL_EXCEL_COLUMNS
+ REMOVE
+ E
+ Deletes an Element from the Collection
+
+
+ ZCL_EXCEL_COLUMNS
+ SIZE
+ E
+ Specifies number of contained elements
+
+
+
+
+
diff --git a/src/zcl_excel_common.clas.abap b/src/zcl_excel_common.clas.abap
index bc47261..c255cb1 100644
--- a/src/zcl_excel_common.clas.abap
+++ b/src/zcl_excel_common.clas.abap
@@ -198,9 +198,9 @@ public section.
ZCX_EXCEL .
*"* protected components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_COMMON
+*"* protected components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!!
+protected section.
private section.
class-data C_EXCEL_COL_MODULE type INT2 value 64. "#EC NOTEXT . . . . . . . . . . . . . . . " .
diff --git a/src/zcl_excel_converter.clas.abap b/src/zcl_excel_converter.clas.abap
index 3353200..70abbc6 100644
--- a/src/zcl_excel_converter.clas.abap
+++ b/src/zcl_excel_converter.clas.abap
@@ -246,42 +246,29 @@ ENDCLASS.
CLASS ZCL_EXCEL_CONVERTER IMPLEMENTATION.
-method ASK_OPTION.
+METHOD ask_option.
DATA: ls_sval TYPE sval,
lt_sval TYPE STANDARD TABLE OF sval,
l_returncode TYPE string,
lt_fields TYPE ddfields,
ls_fields TYPE dfies.
- FIELD-SYMBOLS: TYPE ANY.
+ FIELD-SYMBOLS: TYPE any.
rs_option = ws_option.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
- tabname = 'ZEXCEL_S_CONVERTER_OPTION'
-* FIELDNAME = ' '
-* LANGU = sy-langu
-* LFIELDNAME = ' '
-* ALL_TYPES = ' '
-* GROUP_NAMES = ' '
-* UCLEN =
-* IMPORTING
-* X030L_WA =
-* DDOBJTYPE =
-* DFIES_WA =
-* LINES_DESCR =
+ tabname = 'ZEXCEL_S_CONVERTER_OPTION'
TABLES
- dfies_tab = lt_fields
-* FIXED_VALUES =
- EXCEPTIONS
- not_found = 1
- internal_error = 2
- OTHERS = 3
- .
+ dfies_tab = lt_fields
+ EXCEPTIONS
+ not_found = 1
+ internal_error = 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.
+ MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
+ WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT lt_fields INTO ls_fields.
@@ -304,21 +291,17 @@ method ASK_OPTION.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
-* NO_VALUE_CHECK = space
- popup_title = 'Excel creation options'(008)
-* START_COLUMN = '5'
-* START_ROW = '5'
+ popup_title = 'Excel creation options'(008)
IMPORTING
- returncode = l_returncode
+ returncode = l_returncode
TABLES
- fields = lt_sval
+ fields = lt_sval
EXCEPTIONS
- error_in_fields = 1
- OTHERS = 2
- .
+ error_in_fields = 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.
+ MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
+ WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF l_returncode = 'A'.
RAISE EXCEPTION TYPE zcx_excel.
@@ -333,7 +316,7 @@ method ASK_OPTION.
rs_option = ws_option.
ENDIF.
ENDIF.
- endmethod.
+ENDMETHOD.
method BIND_CELLS.
@@ -351,66 +334,67 @@ method BIND_CELLS.
endmethod.
-method BIND_TABLE.
- data: lt_field_catalog type zexcel_t_fieldcatalog,
- ls_field_catalog type zexcel_s_fieldcatalog,
- ls_fcat type zexcel_s_converter_fcat,
- lo_col_dim type ref to zcl_excel_worksheet_columndime,
- l_col_int type zexcel_cell_column,
- l_col_alpha type zexcel_cell_column_alpha,
- ls_settings type zexcel_s_table_settings,
- l_line type i.
+METHOD bind_table.
+ DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog,
+ ls_field_catalog TYPE zexcel_s_fieldcatalog,
+ ls_fcat TYPE zexcel_s_converter_fcat,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row TYPE REF TO zcl_excel_row,
+ lv_col_int TYPE zexcel_cell_column,
+ lv_col_alpha TYPE zexcel_cell_column_alpha,
+ ls_settings TYPE zexcel_s_table_settings,
+ lv_line TYPE i.
- field-symbols: type any table.
+ FIELD-SYMBOLS: TYPE ANY TABLE.
- assign wo_data->* to .
+ ASSIGN wo_data->* TO .
ls_settings-table_style = i_style_table.
ls_settings-top_left_column = zcl_excel_common=>convert_column2alpha( ip_column = w_col_int ).
ls_settings-top_left_row = w_row_int.
ls_settings-show_row_stripes = ws_layout-is_stripped.
- describe table wt_fieldcatalog lines l_line.
- l_line = l_line + 1 + w_col_int.
- ls_settings-bottom_right_column = zcl_excel_common=>convert_column2alpha( ip_column = l_line ).
+ DESCRIBE TABLE wt_fieldcatalog LINES lv_line.
+ lv_line = lv_line + 1 + w_col_int.
+ ls_settings-bottom_right_column = zcl_excel_common=>convert_column2alpha( ip_column = lv_line ).
- describe table lines l_line.
- ls_settings-bottom_right_row = l_line + 1 + w_row_int.
- sort wt_fieldcatalog by position.
- loop at wt_fieldcatalog into ls_fcat.
- move-corresponding ls_fcat to ls_field_catalog.
+ DESCRIBE TABLE LINES lv_line.
+ ls_settings-bottom_right_row = lv_line + 1 + w_row_int.
+ SORT wt_fieldcatalog BY position.
+ LOOP AT wt_fieldcatalog INTO ls_fcat.
+ MOVE-CORRESPONDING ls_fcat TO ls_field_catalog.
ls_field_catalog-dynpfld = abap_true.
- insert ls_field_catalog into table lt_field_catalog.
- endloop.
+ INSERT ls_field_catalog INTO TABLE lt_field_catalog.
+ ENDLOOP.
wo_worksheet->bind_table(
- exporting
+ EXPORTING
ip_table =
it_field_catalog = lt_field_catalog
is_table_settings = ls_settings
- importing
+ IMPORTING
es_table_settings = ls_settings
).
- loop at wt_fieldcatalog into ls_fcat.
- l_col_int = w_col_int + ls_fcat-position - 1.
- l_col_alpha = zcl_excel_common=>convert_column2alpha( l_col_int ).
+ LOOP AT wt_fieldcatalog INTO ls_fcat.
+ lv_col_int = w_col_int + ls_fcat-position - 1.
+ lv_col_alpha = zcl_excel_common=>convert_column2alpha( lv_col_int ).
* Freeze panes
- if ls_fcat-fix_column = abap_true.
- add 1 to r_freeze_col.
- endif.
+ IF ls_fcat-fix_column = abap_true.
+ ADD 1 TO r_freeze_col.
+ ENDIF.
* Now let's check for optimized
- if ls_fcat-is_optimized = abap_true.
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_auto_size( ip_auto_size = abap_true ) .
- endif.
+ IF ls_fcat-is_optimized = abap_true.
+ lo_column = wo_worksheet->get_column( ip_column = lv_col_alpha ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ) .
+ ENDIF.
* Now let's check for visible
- if ls_fcat-is_hidden = abap_true.
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_visible( ip_visible = abap_false ) .
- endif.
- endloop.
+ IF ls_fcat-is_hidden = abap_true.
+ lo_column = wo_worksheet->get_column( ip_column = lv_col_alpha ).
+ lo_column->set_visible( ip_visible = abap_false ) .
+ ENDIF.
+ ENDLOOP.
- endmethod.
+ENDMETHOD.
method CLASS_CONSTRUCTOR.
@@ -1158,7 +1142,8 @@ method LOOP_NORMAL.
l_col_alpha TYPE zexcel_cell_column_alpha,
l_cell_value TYPE zexcel_cell_value,
l_s_color TYPE abap_bool,
- lo_col_dim TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row TYPE REF TO zcl_excel_row,
l_formula TYPE zexcel_cell_formula,
l_style TYPE zexcel_cell_style,
l_cells TYPE i,
@@ -1238,13 +1223,13 @@ method LOOP_NORMAL.
ENDLOOP.
* Now let's check for optimized
IF -is_optimized = abap_true .
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_auto_size( ip_auto_size = abap_true ) .
+ lo_column = wo_worksheet->get_column( ip_column = l_col_alpha ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ) .
ENDIF.
* Now let's check for visible
IF -is_hidden = abap_true.
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_visible( ip_visible = abap_false ) .
+ lo_column = wo_worksheet->get_column( ip_column = l_col_alpha ).
+ lo_column->set_visible( ip_visible = abap_false ) .
ENDIF.
* Now let's check for total versus subtotal.
IF -totals_function IS NOT INITIAL.
@@ -1272,8 +1257,8 @@ method LOOP_SUBTOTAL.
l_col_alpha_start TYPE zexcel_cell_column_alpha,
l_cell_value TYPE zexcel_cell_value,
l_s_color TYPE abap_bool,
- lo_col_dim TYPE REF TO zcl_excel_worksheet_columndime,
- lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row TYPE REF TO zcl_excel_row,
l_formula TYPE zexcel_cell_formula,
l_style TYPE zexcel_cell_style,
l_text TYPE string,
@@ -1361,13 +1346,13 @@ method LOOP_SUBTOTAL.
ip_value = l_cell_value
ip_abap_type = cl_abap_typedescr=>typekind_string
ip_style = -style_subtotal ).
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_outline_level( ip_outline_level = -sort_level ) .
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_outline_level( ip_outline_level = -sort_level ) .
IF -is_collapsed = abap_true.
IF -sort_level > l_hidden.
- lo_row_dim->set_visible( ip_visible = abap_false ) .
+ lo_row->set_visible( ip_visible = abap_false ) .
ENDIF.
- lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ) .
+ lo_row->set_collapsed( ip_collapsed = -is_collapsed ) .
ENDIF.
* Now let's change the key
ADD 1 TO l_row_int.
@@ -1405,21 +1390,21 @@ method LOOP_SUBTOTAL.
ip_style = -style_subtotal ).
l_sort_level = -sort_level.
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) .
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_outline_level( ip_outline_level = l_sort_level ) .
IF -is_collapsed = abap_true.
IF -sort_level > l_hidden.
- lo_row_dim->set_visible( ip_visible = abap_false ) .
+ lo_row->set_visible( ip_visible = abap_false ) .
ENDIF.
- lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ) .
+ lo_row->set_collapsed( ip_collapsed = -is_collapsed ) .
ENDIF.
ADD 1 TO l_row_int.
ENDIF.
ENDLOOP.
* Let's write the Grand total
l_sort_level = 0.
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) .
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_outline_level( ip_outline_level = l_sort_level ) .
* lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ) . Not on grand total
l_text = create_text_subtotal( i_value = 'Grand'(002)
@@ -1476,10 +1461,10 @@ method LOOP_SUBTOTAL.
ip_formula = l_formula
ip_style = -style_subtotal ).
IF -is_collapsed = abap_true.
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ).
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_collapsed( ip_collapsed = -is_collapsed ).
IF -sort_level > l_hidden.
- lo_row_dim->set_visible( ip_visible = abap_false ) .
+ lo_row->set_visible( ip_visible = abap_false ) .
ENDIF.
ENDIF.
ADD 1 TO l_row_int.
@@ -1495,11 +1480,11 @@ method LOOP_SUBTOTAL.
ENDIF.
ENDDO.
* Let's set the row dimension values
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) .
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) .
IF -is_collapsed = abap_true.
- lo_row_dim->set_visible( ip_visible = abap_false ) .
- lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ) .
+ lo_row->set_visible( ip_visible = abap_false ) .
+ lo_row->set_collapsed( ip_collapsed = -is_collapsed ) .
ENDIF.
* Now let's write the cell values
IF ws_layout-is_stripped = abap_true AND l_s_color = abap_true.
@@ -1555,8 +1540,8 @@ method LOOP_SUBTOTAL.
ip_formula = l_formula
ip_style = -style_subtotal ).
IF -is_collapsed = abap_true.
- lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
- lo_row_dim->set_collapsed( ip_collapsed = -is_collapsed ).
+ lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
+ lo_row->set_collapsed( ip_collapsed = -is_collapsed ).
ENDIF.
ADD 1 TO l_row_int.
ELSE.
@@ -1587,13 +1572,13 @@ method LOOP_SUBTOTAL.
ENDIF.
* Now let's check for optimized
IF -is_optimized = abap_true.
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_auto_size( ip_auto_size = abap_true ) .
+ lo_column = wo_worksheet->get_column( ip_column = l_col_alpha ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ) .
ENDIF.
* Now let's check for visible
IF -is_hidden = abap_true.
- lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
- lo_col_dim->set_visible( ip_visible = abap_false ) .
+ lo_column = wo_worksheet->get_column( ip_column = l_col_alpha ).
+ lo_column->set_visible( ip_visible = abap_false ) .
ENDIF.
ENDLOOP.
diff --git a/src/zcl_excel_converter_result_ex.clas.abap b/src/zcl_excel_converter_result_ex.clas.abap
index 40d3a13..da1f6a5 100644
--- a/src/zcl_excel_converter_result_ex.clas.abap
+++ b/src/zcl_excel_converter_result_ex.clas.abap
@@ -14,6 +14,8 @@ public section.
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 section.
*"* private components of class ZCL_EXCEL_CONVERTER_EX_RESULT
*"* do not include other source files here!!!
diff --git a/src/zcl_excel_converter_result_wd.clas.abap b/src/zcl_excel_converter_result_wd.clas.abap
index ec8d480..930acab 100644
--- a/src/zcl_excel_converter_result_wd.clas.abap
+++ b/src/zcl_excel_converter_result_wd.clas.abap
@@ -14,9 +14,9 @@ public section.
redefinition .
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_CONVERTER_RESULT_WD
+*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
*"* do not include other source files here!!!
+protected section.
private section.
data WO_CONFIG type ref to CL_SALV_WD_CONFIG_TABLE .
diff --git a/src/zcl_excel_converter_salv_table.clas.abap b/src/zcl_excel_converter_salv_table.clas.abap
index edf2591..66e3280 100644
--- a/src/zcl_excel_converter_salv_table.clas.abap
+++ b/src/zcl_excel_converter_salv_table.clas.abap
@@ -14,9 +14,9 @@ public section.
redefinition .
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
+*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
*"* do not include other source files here!!!
+protected section.
private section.
methods LOAD_DATA
diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap
index 839996a..cf3c906 100644
--- a/src/zcl_excel_drawing.clas.abap
+++ b/src/zcl_excel_drawing.clas.abap
@@ -118,6 +118,8 @@ public section.
value(IP_CHART) type ref to IF_IXML_DOCUMENT .
*"* protected components of class ZCL_EXCEL_DRAWING
*"* do not include other source files here!!!
+*"* protected components of class ZCL_EXCEL_DRAWING
+*"* do not include other source files here!!!
protected section.
private section.
diff --git a/src/zcl_excel_reader_2007.clas.abap b/src/zcl_excel_reader_2007.clas.abap
index da1134f..ab69471 100644
--- a/src/zcl_excel_reader_2007.clas.abap
+++ b/src/zcl_excel_reader_2007.clas.abap
@@ -188,31 +188,31 @@ protected section.
methods LOAD_WORKSHEET_COND_FORMAT_AA
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND.
methods LOAD_WORKSHEET_COND_FORMAT_CI
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_COND_FORMAT_CS
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_COND_FORMAT_EX
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_COND_FORMAT_IS
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_COND_FORMAT_DB
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_COND_FORMAT_T10
importing
!IO_IXML_RULE type ref to IF_IXML_ELEMENT
- !IO_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ !IO_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
methods LOAD_WORKSHEET_DRAWING
importing
!IP_PATH type STRING
@@ -304,9 +304,7 @@ METHOD fill_row_outlines.
END OF lts_row_data,
ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row.
- DATA: lt_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
-
- lt_row_data TYPE ltt_row_data,
+ DATA: lt_row_data TYPE ltt_row_data,
ls_row_data LIKE LINE OF lt_row_data,
lt_collapse_rows TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line,
@@ -316,30 +314,29 @@ METHOD fill_row_outlines.
lv_next_consecutive_row TYPE i,
lt_outline_rows TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
ls_outline_row LIKE LINE OF lt_outline_rows,
-
+ lo_row TYPE REF TO zcl_excel_row,
+ lo_row_iterator TYPE REF TO cl_object_collection_iterator,
lv_row_offset TYPE i,
lv_row_collapse_flag TYPE i.
- FIELD-SYMBOLS: LIKE LINE OF lt_row_dimensions,
- LIKE LINE OF lt_row_data.
+ FIELD-SYMBOLS: LIKE LINE OF lt_row_data.
* First collect information about outlines ( outline leven and collapsed state )
- lt_row_dimensions = io_worksheet->get_row_dimensions( ).
- LOOP AT lt_row_dimensions ASSIGNING .
-
- ls_row_data-row = -row.
- ls_row_data-outline_level = -row_dimension->get_outline_level( ).
+ lo_row_iterator = io_worksheet->get_rows_iterator( ).
+ WHILE lo_row_iterator->has_next( ) = abap_true.
+ lo_row ?= lo_row_iterator->get_next( ).
+ ls_row_data-row = lo_row->get_row_index( ).
+ ls_row_data-outline_level = lo_row->get_outline_level( ).
IF ls_row_data-outline_level IS NOT INITIAL.
INSERT ls_row_data INTO TABLE lt_row_data.
ENDIF.
- lv_collapsed = -row_dimension->get_collapsed( ).
+ lv_collapsed = lo_row->get_collapsed( ).
IF lv_collapsed = abap_true.
- INSERT -row INTO TABLE lt_collapse_rows.
+ INSERT lo_row->get_row_index( ) INTO TABLE lt_collapse_rows.
ENDIF.
-
- ENDLOOP.
+ ENDWHILE.
* Now parse this information - we need consecutive rows - any gap will create a new outline
DO 7 TIMES. " max number of outlines allowed
@@ -387,12 +384,14 @@ METHOD fill_row_outlines.
ENDLOOP.
* Finally purge outline information ( collapsed state, outline leve) from row_dimensions, since we want to keep these in the outline-table
- LOOP AT lt_row_dimensions ASSIGNING .
+ lo_row_iterator = io_worksheet->get_rows_iterator( ).
+ WHILE lo_row_iterator->has_next( ) = abap_true.
+ lo_row ?= lo_row_iterator->get_next( ).
- -row_dimension->set_outline_level( 0 ).
- -row_dimension->set_collapsed( abap_false ).
+ lo_row->set_outline_level( 0 ).
+ lo_row->set_collapsed( abap_false ).
- ENDLOOP.
+ ENDWHILE.
ENDMETHOD.
@@ -2255,7 +2254,7 @@ METHOD load_worksheet.
lo_ixml_column_elem TYPE REF TO if_ixml_element,
ls_column TYPE lty_column,
lv_column_alpha TYPE zexcel_cell_column_alpha,
- lo_column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lv_outline_level TYPE int4,
lo_ixml_tabcolor TYPE REF TO if_ixml_element,
@@ -2268,7 +2267,7 @@ METHOD load_worksheet.
* lv_min_col TYPE i, "for use with SPANS element " not in use currently
lv_max_col_s TYPE char10, "for use with SPANS element
lv_min_col_s TYPE char10, "for use with SPANS element
- lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
+ lo_row TYPE REF TO zcl_excel_row,
*--- End of current code aligning -------------------------------------------------------------------
lv_path TYPE string,
@@ -2392,19 +2391,19 @@ METHOD load_worksheet.
OR ls_row-hidden = lc_xml_attr_true
OR ls_row-hidden = lc_xml_attr_true_int
OR ls_row-outlinelevel > '0'.
- lo_row_dimension = io_worksheet->get_row_dimension( lv_cell_row ).
+ lo_row = io_worksheet->get_row( lv_cell_row ).
IF ls_row-customheight = '1'.
- lo_row_dimension->set_row_height( ls_row-ht ).
+ lo_row->set_row_height( ls_row-ht ).
ENDIF.
IF ls_row-collapsed = lc_xml_attr_true
OR ls_row-collapsed = lc_xml_attr_true_int.
- lo_row_dimension->set_collapsed( abap_true ).
+ lo_row->set_collapsed( abap_true ).
ENDIF.
IF ls_row-hidden = lc_xml_attr_true
OR ls_row-hidden = lc_xml_attr_true_int.
- lo_row_dimension->set_visible( abap_false ).
+ lo_row->set_visible( abap_false ).
ENDIF.
IF ls_row-outlinelevel > ''.
@@ -2412,7 +2411,7 @@ METHOD load_worksheet.
CONDENSE ls_row-outlinelevel.
lv_outline_level = ls_row-outlinelevel.
IF lv_outline_level > 0.
- lo_row_dimension->set_outline_level( lv_outline_level ).
+ lo_row->set_outline_level( lv_outline_level ).
ENDIF.
ENDIF.
ENDIF.
@@ -2557,27 +2556,27 @@ METHOD load_worksheet.
WHILE lv_index <= ls_column-max AND lv_index <= lv_max_col.
lv_column_alpha = zcl_excel_common=>convert_column2alpha( lv_index ).
- lo_column_dimension = io_worksheet->get_column_dimension( lv_column_alpha ).
+ lo_column = io_worksheet->get_column( lv_column_alpha ).
IF ls_column-customwidth = lc_xml_attr_true
OR ls_column-customwidth = lc_xml_attr_true_int
OR ls_column-width IS NOT INITIAL. "+#234
- lo_column_dimension->set_width( ls_column-width ).
+ lo_column->set_width( ls_column-width ).
ENDIF.
IF ls_column-bestfit = lc_xml_attr_true
OR ls_column-bestfit = lc_xml_attr_true_int.
- lo_column_dimension->set_auto_size( abap_true ).
+ lo_column->set_auto_size( abap_true ).
ENDIF.
IF ls_column-collapsed = lc_xml_attr_true
OR ls_column-collapsed = lc_xml_attr_true_int.
- lo_column_dimension->set_collapsed( abap_true ).
+ lo_column->set_collapsed( abap_true ).
ENDIF.
IF ls_column-hidden = lc_xml_attr_true
OR ls_column-hidden = lc_xml_attr_true_int.
- lo_column_dimension->set_visible( abap_false ).
+ lo_column->set_visible( abap_false ).
ENDIF.
IF ls_column-outlinelevel > ''.
@@ -2585,7 +2584,7 @@ METHOD load_worksheet.
CONDENSE ls_column-outlinelevel.
lv_outline_level = ls_column-outlinelevel.
IF lv_outline_level > 0.
- lo_column_dimension->set_outline_level( lv_outline_level ).
+ lo_column->set_outline_level( lv_outline_level ).
ENDIF.
ENDIF.
@@ -2594,7 +2593,7 @@ METHOD load_worksheet.
READ TABLE styles INTO lo_excel_style INDEX sy-index.
DATA: dummy_zexcel_cell_style TYPE zexcel_cell_style.
dummy_zexcel_cell_style = lo_excel_style->get_guid( ).
- lo_column_dimension->set_column_style_by_guid( dummy_zexcel_cell_style ).
+ lo_column->set_column_style_by_guid( dummy_zexcel_cell_style ).
ENDIF.
ADD 1 TO lv_index.
@@ -2662,8 +2661,8 @@ METHOD load_worksheet.
fill_struct_from_attributes( EXPORTING ip_element = lo_ixml_sheetformatpr_elem CHANGING cp_structure = ls_sheetformatpr ).
IF ls_sheetformatpr-customheight = '1'.
lv_height = ls_sheetformatpr-defaultrowheight.
- lo_row_dimension = io_worksheet->get_default_row_dimension( ).
- lo_row_dimension->set_row_height( lv_height ).
+ lo_row = io_worksheet->get_default_row( ).
+ lo_row->set_row_height( lv_height ).
ENDIF.
" TODO... column
@@ -2858,8 +2857,8 @@ METHOD load_worksheet_cond_format.
lo_ixml_rules TYPE REF TO if_ixml_node_collection,
lo_ixml_rule TYPE REF TO if_ixml_element,
lo_ixml_iterator2 TYPE REF TO if_ixml_node_iterator,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
- lo_style_conditional2 TYPE REF TO zcl_excel_style_conditional.
+ lo_style_cond TYPE REF TO zcl_excel_style_cond,
+ lo_style_cond2 TYPE REF TO zcl_excel_style_cond.
DATA: lv_area TYPE string,
@@ -2881,7 +2880,7 @@ METHOD load_worksheet_cond_format.
CLEAR: lv_area,
lo_ixml_rule,
- lo_style_conditional.
+ lo_style_cond.
*--------------------------------------------------------------------*
@@ -2890,63 +2889,56 @@ METHOD load_worksheet_cond_format.
lo_ixml_rules = io_ixml_worksheet->get_elements_by_tag_name( name = 'cfRule' ).
lo_ixml_iterator2 = lo_ixml_rules->create_iterator( ).
lo_ixml_rule ?= lo_ixml_iterator2->get_next( ).
-* IF lo_ixml_rule IS BOUND.
+
WHILE lo_ixml_rule IS BOUND.
lv_rule = lo_ixml_rule->get_attribute_ns( 'type' ).
- CLEAR lo_style_conditional.
+ CLEAR lo_style_cond.
*--------------------------------------------------------------------*
* Depending on ruletype get additional information
*--------------------------------------------------------------------*
CASE lv_rule.
- WHEN zcl_excel_style_conditional=>c_rule_cellis.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_ci( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
+ WHEN zcl_excel_style_cond=>c_rule_cellis.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_ci( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
-* WHEN zcl_excel_style_conditional=>c_rule_containstext.
-*
- WHEN zcl_excel_style_conditional=>c_rule_databar.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_db( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
+ WHEN zcl_excel_style_cond=>c_rule_databar.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_db( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
- WHEN zcl_excel_style_conditional=>c_rule_expression.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_ex( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
+ WHEN zcl_excel_style_cond=>c_rule_expression.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_ex( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
- WHEN zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_is( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
+ WHEN zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_is( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
- WHEN zcl_excel_style_conditional=>c_rule_colorscale.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_cs( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
+ WHEN zcl_excel_style_cond=>c_rule_colorscale.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_cs( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
- WHEN zcl_excel_style_conditional=>c_rule_top10.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_t10( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
-
- WHEN zcl_excel_style_conditional=>c_rule_above_average.
- lo_style_conditional = io_worksheet->add_new_conditional_style( ).
- load_worksheet_cond_format_aa( io_ixml_rule = lo_ixml_rule
- io_style_conditional = lo_style_conditional ).
-
-* WHEN zcl_excel_style_conditional=>c_rule_none.
-*
+ WHEN zcl_excel_style_cond=>c_rule_top10.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_t10( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
+ WHEN zcl_excel_style_cond=>c_rule_above_average.
+ lo_style_cond = io_worksheet->add_new_style_cond( ).
+ load_worksheet_cond_format_aa( io_ixml_rule = lo_ixml_rule
+ io_style_cond = lo_style_cond ).
WHEN OTHERS.
ENDCASE.
-* ENDIF.
- IF lo_style_conditional IS BOUND.
- lo_style_conditional->rule = lv_rule.
- lo_style_conditional->priority = lo_ixml_rule->get_attribute_ns( 'priority' ).
+ IF lo_style_cond IS BOUND.
+ lo_style_cond->rule = lv_rule.
+ lo_style_cond->priority = lo_ixml_rule->get_attribute_ns( 'priority' ).
*--------------------------------------------------------------------*
* Set area to which conditional formatting belongs
*--------------------------------------------------------------------*
@@ -2954,36 +2946,16 @@ METHOD load_worksheet_cond_format.
SPLIT lv_area AT space INTO TABLE lt_areas.
DELETE lt_areas WHERE table_line IS INITIAL.
LOOP AT lt_areas INTO lv_area.
-* IF sy-tabix = 1. " Add futher style for next area
-* lo_style_conditional2 = lo_style_conditional.
-* ELSE.
-* lo_style_conditional2 = io_worksheet->add_new_conditional_style( ).
-* lo_style_conditional2->mode_cellis = lo_style_conditional->mode_cellis .
-* lo_style_conditional2->mode_colorscale = lo_style_conditional->mode_colorscale .
-* lo_style_conditional2->mode_databar = lo_style_conditional->mode_databar .
-* lo_style_conditional2->mode_expression = lo_style_conditional->mode_expression .
-* lo_style_conditional2->mode_iconset = lo_style_conditional->mode_iconset .
-* lo_style_conditional2->mode_top10 = lo_style_conditional->mode_top10 .
-* lo_style_conditional2->mode_above_average = lo_style_conditional->mode_above_average.
-* lo_style_conditional2->priority = lo_style_conditional->priority .
-* lo_style_conditional2->rule = lo_style_conditional->rule .
-* ENDIF.
- zcl_excel_common=>convert_range2column_a_row( EXPORTING
- i_range = lv_area
- IMPORTING
- e_column_start = lv_area_start_col
- e_column_end = lv_area_end_col
- e_row_start = lv_area_start_row
- e_row_end = lv_area_end_row ).
-* lo_style_conditional2->set_range( ip_start_column = lv_area_start_col
-* ip_stop_column = lv_area_end_col
-* ip_start_row = lv_area_start_row
-* ip_stop_row = lv_area_end_row ).
- lo_style_conditional->add_range( ip_start_column = lv_area_start_col
- ip_stop_column = lv_area_end_col
- ip_start_row = lv_area_start_row
- ip_stop_row = lv_area_end_row ).
+ zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_area
+ IMPORTING e_column_start = lv_area_start_col
+ e_column_end = lv_area_end_col
+ e_row_start = lv_area_start_row
+ e_row_end = lv_area_end_row ).
+ lo_style_cond->add_range( ip_start_column = lv_area_start_col
+ ip_stop_column = lv_area_end_col
+ ip_start_row = lv_area_start_row
+ ip_stop_row = lv_area_end_row ).
ENDLOOP.
ENDIF.
@@ -3009,9 +2981,9 @@ METHOD load_worksheet_cond_format_aa.
*--------------------------------------------------------------------*
val = io_ixml_rule->get_attribute_ns( 'aboveAverage' ).
IF val = '0'. " 0 = below average
- io_style_conditional->mode_above_average-above_average = space.
+ io_style_cond->mode_above_average-above_average = space.
ELSE.
- io_style_conditional->mode_above_average-above_average = 'X'. " Not present or <> 0 --> we use above average
+ io_style_cond->mode_above_average-above_average = 'X'. " Not present or <> 0 --> we use above average
ENDIF.
*--------------------------------------------------------------------*
@@ -3020,9 +2992,9 @@ METHOD load_worksheet_cond_format_aa.
CLEAR val.
val = io_ixml_rule->get_attribute_ns( 'equalAverage' ).
IF val = '1'. " 0 = below average
- io_style_conditional->mode_above_average-equal_average = 'X'.
+ io_style_cond->mode_above_average-equal_average = 'X'.
ELSE.
- io_style_conditional->mode_above_average-equal_average = ' '. " Not present or <> 1 --> we use not equal average
+ io_style_cond->mode_above_average-equal_average = ' '. " Not present or <> 1 --> we use not equal average
ENDIF.
*--------------------------------------------------------------------*
@@ -3034,7 +3006,7 @@ METHOD load_worksheet_cond_format_aa.
WHEN 1
OR 2
OR 3. " These seem to be supported by excel - don't try anything more
- io_style_conditional->mode_above_average-standard_deviation = val.
+ io_style_cond->mode_above_average-standard_deviation = val.
ENDCASE.
*--------------------------------------------------------------------*
@@ -3043,7 +3015,7 @@ METHOD load_worksheet_cond_format_aa.
lv_dxf_style_index = io_ixml_rule->get_attribute_ns( 'dxfId' ).
READ TABLE me->mt_dxf_styles ASSIGNING WITH KEY dxf = lv_dxf_style_index.
IF sy-subrc = 0.
- io_style_conditional->mode_above_average-cell_style = -guid.
+ io_style_cond->mode_above_average-cell_style = -guid.
ENDIF.
ENDMETHOD.
@@ -3058,11 +3030,11 @@ METHOD load_worksheet_cond_format_ci.
FIELD-SYMBOLS: LIKE LINE OF me->mt_dxf_styles.
- io_style_conditional->mode_cellis-operator = io_ixml_rule->get_attribute_ns( 'operator' ).
+ io_style_cond->mode_cellis-operator = io_ixml_rule->get_attribute_ns( 'operator' ).
lv_dxf_style_index = io_ixml_rule->get_attribute_ns( 'dxfId' ).
READ TABLE me->mt_dxf_styles ASSIGNING WITH KEY dxf = lv_dxf_style_index.
IF sy-subrc = 0.
- io_style_conditional->mode_cellis-cell_style = -guid.
+ io_style_cond->mode_cellis-cell_style = -guid.
ENDIF.
lo_ixml_nodes ?= io_ixml_rule->get_elements_by_tag_name( 'formula' ).
@@ -3072,10 +3044,10 @@ METHOD load_worksheet_cond_format_ci.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_cellis-formula = lo_ixml->get_value( ).
+ io_style_cond->mode_cellis-formula = lo_ixml->get_value( ).
WHEN 2.
- io_style_conditional->mode_cellis-formula2 = lo_ixml->get_value( ).
+ io_style_cond->mode_cellis-formula2 = lo_ixml->get_value( ).
WHEN OTHERS.
EXIT.
@@ -3101,16 +3073,16 @@ METHOD load_worksheet_cond_format_cs.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_colorscale-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_colorscale-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_colorscale-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_colorscale-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 2.
- io_style_conditional->mode_colorscale-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_colorscale-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_colorscale-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_colorscale-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 3.
- io_style_conditional->mode_colorscale-cfvo3_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_colorscale-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_colorscale-cfvo3_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_colorscale-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN OTHERS.
EXIT.
@@ -3126,13 +3098,13 @@ METHOD load_worksheet_cond_format_cs.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_colorscale-colorrgb1 = lo_ixml->get_attribute_ns( 'rgb' ).
+ io_style_cond->mode_colorscale-colorrgb1 = lo_ixml->get_attribute_ns( 'rgb' ).
WHEN 2.
- io_style_conditional->mode_colorscale-colorrgb2 = lo_ixml->get_attribute_ns( 'rgb' ).
+ io_style_cond->mode_colorscale-colorrgb2 = lo_ixml->get_attribute_ns( 'rgb' ).
WHEN 3.
- io_style_conditional->mode_colorscale-colorrgb3 = lo_ixml->get_attribute_ns( 'rgb' ).
+ io_style_cond->mode_colorscale-colorrgb3 = lo_ixml->get_attribute_ns( 'rgb' ).
WHEN OTHERS.
EXIT.
@@ -3151,7 +3123,7 @@ METHOD load_worksheet_cond_format_db.
lo_ixml ?= io_ixml_rule->find_from_name( 'color' ).
IF lo_ixml IS BOUND.
- io_style_conditional->mode_databar-colorrgb = lo_ixml->get_attribute_ns( 'rgb' ).
+ io_style_cond->mode_databar-colorrgb = lo_ixml->get_attribute_ns( 'rgb' ).
ENDIF.
lo_ixml_nodes ?= io_ixml_rule->get_elements_by_tag_name( 'cfvo' ).
@@ -3161,12 +3133,12 @@ METHOD load_worksheet_cond_format_db.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_databar-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_databar-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_databar-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_databar-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 2.
- io_style_conditional->mode_databar-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_databar-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_databar-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_databar-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN OTHERS.
EXIT.
@@ -3191,7 +3163,7 @@ METHOD load_worksheet_cond_format_ex.
lv_dxf_style_index = io_ixml_rule->get_attribute_ns( 'dxfId' ).
READ TABLE me->mt_dxf_styles ASSIGNING WITH KEY dxf = lv_dxf_style_index.
IF sy-subrc = 0.
- io_style_conditional->mode_expression-cell_style = -guid.
+ io_style_cond->mode_expression-cell_style = -guid.
ENDIF.
lo_ixml_nodes ?= io_ixml_rule->get_elements_by_tag_name( 'formula' ).
@@ -3201,7 +3173,7 @@ METHOD load_worksheet_cond_format_ex.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_expression-formula = lo_ixml->get_value( ).
+ io_style_cond->mode_expression-formula = lo_ixml->get_value( ).
WHEN OTHERS.
@@ -3222,8 +3194,8 @@ METHOD load_worksheet_cond_format_is.
lo_ixml_rule_iconset TYPE REF TO if_ixml_element.
lo_ixml_rule_iconset ?= io_ixml_rule->get_first_child( ).
- io_style_conditional->mode_iconset-iconset = lo_ixml_rule_iconset->get_attribute_ns( 'iconSet' ).
- io_style_conditional->mode_iconset-showvalue = lo_ixml_rule_iconset->get_attribute_ns( 'showValue' ).
+ io_style_cond->mode_iconset-iconset = lo_ixml_rule_iconset->get_attribute_ns( 'iconSet' ).
+ io_style_cond->mode_iconset-showvalue = lo_ixml_rule_iconset->get_attribute_ns( 'showValue' ).
lo_ixml_nodes ?= lo_ixml_rule_iconset->get_elements_by_tag_name( 'cfvo' ).
lo_ixml_iterator = lo_ixml_nodes->create_iterator( ).
lo_ixml ?= lo_ixml_iterator->get_next( ).
@@ -3231,24 +3203,24 @@ METHOD load_worksheet_cond_format_is.
CASE sy-index.
WHEN 1.
- io_style_conditional->mode_iconset-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_iconset-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_iconset-cfvo1_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_iconset-cfvo1_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 2.
- io_style_conditional->mode_iconset-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_iconset-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_iconset-cfvo2_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_iconset-cfvo2_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 3.
- io_style_conditional->mode_iconset-cfvo3_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_iconset-cfvo3_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_iconset-cfvo3_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_iconset-cfvo3_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 4.
- io_style_conditional->mode_iconset-cfvo4_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_iconset-cfvo4_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_iconset-cfvo4_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_iconset-cfvo4_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN 5.
- io_style_conditional->mode_iconset-cfvo5_type = lo_ixml->get_attribute_ns( 'type' ).
- io_style_conditional->mode_iconset-cfvo5_value = lo_ixml->get_attribute_ns( 'val' ).
+ io_style_cond->mode_iconset-cfvo5_type = lo_ixml->get_attribute_ns( 'type' ).
+ io_style_cond->mode_iconset-cfvo5_value = lo_ixml->get_attribute_ns( 'val' ).
WHEN OTHERS.
EXIT.
@@ -3265,28 +3237,28 @@ METHOD load_worksheet_cond_format_t10.
FIELD-SYMBOLS: LIKE LINE OF me->mt_dxf_styles.
- io_style_conditional->mode_top10-topxx_count = io_ixml_rule->get_attribute_ns( 'rank' ). " Top10, Top20, Top 50...
+ io_style_cond->mode_top10-topxx_count = io_ixml_rule->get_attribute_ns( 'rank' ). " Top10, Top20, Top 50...
- io_style_conditional->mode_top10-percent = io_ixml_rule->get_attribute_ns( 'percent' ). " Top10 percent instead of Top10 values
- if io_style_conditional->mode_top10-percent = '1'.
- io_style_conditional->mode_top10-percent = 'X'.
- else.
- io_style_conditional->mode_top10-percent = ' '.
- endif.
+ io_style_cond->mode_top10-percent = io_ixml_rule->get_attribute_ns( 'percent' ). " Top10 percent instead of Top10 values
+ IF io_style_cond->mode_top10-percent = '1'.
+ io_style_cond->mode_top10-percent = 'X'.
+ ELSE.
+ io_style_cond->mode_top10-percent = ' '.
+ ENDIF.
- io_style_conditional->mode_top10-bottom = io_ixml_rule->get_attribute_ns( 'bottom' ). " Bottom10 instead of Top10
- if io_style_conditional->mode_top10-bottom = '1'.
- io_style_conditional->mode_top10-bottom = 'X'.
- else.
- io_style_conditional->mode_top10-bottom = ' '.
- endif.
+ io_style_cond->mode_top10-bottom = io_ixml_rule->get_attribute_ns( 'bottom' ). " Bottom10 instead of Top10
+ IF io_style_cond->mode_top10-bottom = '1'.
+ io_style_cond->mode_top10-bottom = 'X'.
+ ELSE.
+ io_style_cond->mode_top10-bottom = ' '.
+ ENDIF.
*--------------------------------------------------------------------*
* Cell formatting for top10
*--------------------------------------------------------------------*
lv_dxf_style_index = io_ixml_rule->get_attribute_ns( 'dxfId' ).
READ TABLE me->mt_dxf_styles ASSIGNING WITH KEY dxf = lv_dxf_style_index.
IF sy-subrc = 0.
- io_style_conditional->mode_top10-cell_style = -guid.
+ io_style_cond->mode_top10-cell_style = -guid.
ENDIF.
ENDMETHOD.
@@ -3486,7 +3458,7 @@ METHOD load_worksheet_pagebreaks.
lo_ixml_iterator TYPE REF TO if_ixml_node_iterator,
lo_ixml_rowbreak TYPE REF TO if_ixml_element,
lo_ixml_colbreak TYPE REF TO if_ixml_element,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
+ lo_style_cond TYPE REF TO zcl_excel_style_cond,
lv_count TYPE i.
diff --git a/src/zcl_excel_worksheet_rowdimensi.clas.abap b/src/zcl_excel_row.clas.abap
similarity index 94%
rename from src/zcl_excel_worksheet_rowdimensi.clas.abap
rename to src/zcl_excel_row.clas.abap
index cdad436..ad1b19c 100644
--- a/src/zcl_excel_worksheet_rowdimensi.clas.abap
+++ b/src/zcl_excel_row.clas.abap
@@ -1,9 +1,9 @@
-class ZCL_EXCEL_WORKSHEET_ROWDIMENSI definition
+class ZCL_EXCEL_ROW definition
public
final
create public .
-*"* public components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+*"* public components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!!
public section.
type-pools ABAP .
@@ -57,10 +57,10 @@ public section.
methods SET_XF_INDEX
importing
!IP_XF_INDEX type INT4 .
-*"* protected components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+*"* protected components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!!
protected section.
-*"* private components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+*"* private components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!!
private section.
@@ -74,7 +74,7 @@ ENDCLASS.
-CLASS ZCL_EXCEL_WORKSHEET_ROWDIMENSI IMPLEMENTATION.
+CLASS ZCL_EXCEL_ROW IMPLEMENTATION.
method CONSTRUCTOR.
@@ -90,7 +90,7 @@ method CONSTRUCTOR.
endmethod.
-METHOD get_collapsed.
+METHOD GET_COLLAPSED.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
lv_previous_row TYPE i,
@@ -121,7 +121,7 @@ METHOD get_collapsed.
ENDMETHOD.
-METHOD get_outline_level.
+METHOD GET_OUTLINE_LEVEL.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
FIELD-SYMBOLS: LIKE LINE OF lt_row_outlines.
@@ -155,7 +155,7 @@ method GET_ROW_INDEX.
endmethod.
-METHOD get_visible.
+METHOD GET_VISIBLE.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
FIELD-SYMBOLS: LIKE LINE OF lt_row_outlines.
diff --git a/src/zcl_excel_worksheet_rowdimensi.clas.xml b/src/zcl_excel_row.clas.xml
similarity index 55%
rename from src/zcl_excel_worksheet_rowdimensi.clas.xml
rename to src/zcl_excel_row.clas.xml
index 6a08b3a..d18e750 100644
--- a/src/zcl_excel_worksheet_rowdimensi.clas.xml
+++ b/src/zcl_excel_row.clas.xml
@@ -3,7 +3,7 @@
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
1
E
Worksheet RowDimension
@@ -17,107 +17,71 @@
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
COLLAPSED
E
Boolean Variable (X=True, -=False, Space=Unknown)
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- COLLAPSED
- I
- Boolean Variable (X=True, -=False, Space=Unknown)
-
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
GET_COLLAPSED
E
new - please pass worksheet to make use of new outline info
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
GET_OUTLINE_LEVEL
E
new - please pass worksheet to make use of new outline info
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
GET_VISIBLE
E
new - please pass worksheet to make use of new outline info
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
OUTLINE_LEVEL
E
Natural number
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- OUTLINE_LEVEL
- I
- Natural number
-
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
ROW_HEIGHT
E
Field of type FLTP
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- ROW_HEIGHT
- I
- Field of type FLTP
-
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
ROW_INDEX
E
Natural number
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- ROW_INDEX
- I
- Natural number
-
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
SET_COLLAPSED
E
obsolete - please use worksheet->set_outline instead
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
SET_OUTLINE_LEVEL
E
obsolete - please use worksheet->set_outline instead
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
VISIBLE
E
Boolean Variable (X=True, -=False, Space=Unknown)
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- VISIBLE
- I
- Boolean Variable (X=True, -=False, Space=Unknown)
-
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
+ ZCL_EXCEL_ROW
XF_INDEX
E
Natural number
-
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- XF_INDEX
- I
- Natural number
-
diff --git a/src/zcl_excel_rows.clas.abap b/src/zcl_excel_rows.clas.abap
new file mode 100644
index 0000000..c1cf0f1
--- /dev/null
+++ b/src/zcl_excel_rows.clas.abap
@@ -0,0 +1,92 @@
+*----------------------------------------------------------------------*
+* CLASS ZCL_EXCEL_ROWS DEFINITION
+*----------------------------------------------------------------------*
+*
+*----------------------------------------------------------------------*
+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.
+
+ 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 .
+ PROTECTED SECTION.
+*"* private components of class ZABAP_EXCEL_RANGES
+*"* do not include other source files here!!!
+ PRIVATE SECTION.
+
+ DATA rows TYPE REF TO cl_object_collection .
+ENDCLASS.
+
+
+
+CLASS ZCL_EXCEL_ROWS IMPLEMENTATION.
+
+
+ METHOD add.
+ rows->add( io_row ).
+ ENDMETHOD. "ADD
+
+
+ METHOD clear.
+ rows->clear( ).
+ ENDMETHOD. "CLEAR
+
+
+ METHOD constructor.
+
+ CREATE OBJECT rows.
+
+ ENDMETHOD. "CONSTRUCTOR
+
+
+ METHOD get.
+ eo_row ?= rows->if_object_collection~get( ip_index ).
+ ENDMETHOD. "GET
+
+
+ METHOD get_iterator.
+ eo_iterator ?= rows->if_object_collection~get_iterator( ).
+ ENDMETHOD. "GET_ITERATOR
+
+
+ METHOD is_empty.
+ is_empty = rows->if_object_collection~is_empty( ).
+ ENDMETHOD. "IS_EMPTY
+
+
+ METHOD remove.
+ rows->remove( io_row ).
+ ENDMETHOD. "REMOVE
+
+
+ METHOD size.
+ ep_size = rows->if_object_collection~size( ).
+ ENDMETHOD. "SIZE
+ENDCLASS.
diff --git a/src/zcl_excel_rows.clas.xml b/src/zcl_excel_rows.clas.xml
new file mode 100644
index 0000000..3d5c18a
--- /dev/null
+++ b/src/zcl_excel_rows.clas.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+ ZCL_EXCEL_ROWS
+ 1
+ E
+ Ranges collection
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
+ ZCL_EXCEL_ROWS
+ ADD
+ E
+ Adds an Element to the Collection
+
+
+ ZCL_EXCEL_ROWS
+ CLEAR
+ E
+ Initializes the Collection
+
+
+ ZCL_EXCEL_ROWS
+ CONSTRUCTOR
+ E
+ CONSTRUCTOR
+
+
+ ZCL_EXCEL_ROWS
+ GET
+ E
+ Gets Element
+
+
+ ZCL_EXCEL_ROWS
+ GET_ITERATOR
+ E
+ Returns an iterator
+
+
+ ZCL_EXCEL_ROWS
+ IS_EMPTY
+ E
+ Checks whether elements are contained
+
+
+ ZCL_EXCEL_ROWS
+ REMOVE
+ E
+ Deletes an Element from the Collection
+
+
+ ZCL_EXCEL_ROWS
+ SIZE
+ E
+ Specifies number of contained elements
+
+
+
+
+
diff --git a/src/zcl_excel_style.clas.abap b/src/zcl_excel_style.clas.abap
index d3c2dcf..4381926 100644
--- a/src/zcl_excel_style.clas.abap
+++ b/src/zcl_excel_style.clas.abap
@@ -45,18 +45,11 @@ METHOD constructor.
CREATE OBJECT number_format.
CREATE OBJECT protection.
-* Start of insertion # issue 139 - Dateretention of cellstyles
IF ip_guid IS NOT INITIAL.
me->guid = ip_guid.
ELSE.
-* End of insertion # issue 139 - Dateretention of cellstyles
-* CALL FUNCTION 'GUID_CREATE' " del issue #379 - function is outdated in newer releases
-* IMPORTING
-* ev_guid_16 = me->guid.
- me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call
-* Start of insertion # issue 139 - Dateretention of cellstyles
+ me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ).
ENDIF.
-* End of insertion # issue 139 - Dateretention of cellstyles
ENDMETHOD.
diff --git a/src/zcl_excel_style_conditional.clas.abap b/src/zcl_excel_style_cond.clas.abap
similarity index 88%
rename from src/zcl_excel_style_conditional.clas.abap
rename to src/zcl_excel_style_cond.clas.abap
index ab1b6d2..12562da 100644
--- a/src/zcl_excel_style_conditional.clas.abap
+++ b/src/zcl_excel_style_cond.clas.abap
@@ -1,11 +1,12 @@
-class ZCL_EXCEL_STYLE_CONDITIONAL definition
+class ZCL_EXCEL_STYLE_COND definition
public
final
create public .
public section.
+ class ZCL_EXCEL_STYLE_CONDITIONAL definition load .
-*"* public components of class ZCL_EXCEL_STYLE_CONDITIONAL
+*"* public components of class ZCL_EXCEL_STYLE_COND
*"* do not include other source files here!!!
constants C_CFVO_TYPE_FORMULA type ZEXCEL_CONDITIONAL_TYPE value 'formula'. "#EC NOTEXT
constants C_CFVO_TYPE_MAX type ZEXCEL_CONDITIONAL_TYPE value 'max'. "#EC NOTEXT
@@ -60,10 +61,12 @@ public section.
data MODE_ICONSET type ZEXCEL_CONDITIONAL_ICONSET .
data MODE_TOP10 type ZEXCEL_CONDITIONAL_TOP10 .
data MODE_ABOVE_AVERAGE type ZEXCEL_CONDITIONAL_ABOVE_AVG .
- data PRIORITY type ZEXCEL_STYLE_PRIORITY value 1. "#EC NOTEXT . . . . . . . . . . . . . . . . " .
+ data PRIORITY type ZEXCEL_STYLE_PRIORITY value 1. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . " .
data RULE type ZEXCEL_CONDITION_RULE .
- methods CONSTRUCTOR .
+ methods CONSTRUCTOR
+ importing
+ !IP_GUID type ZEXCEL_CELL_STYLE optional .
methods GET_DIMENSION_RANGE
returning
value(EP_DIMENSION_RANGE) type STRING .
@@ -79,7 +82,6 @@ public section.
!IP_START_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
!IP_STOP_ROW type ZEXCEL_CELL_ROW
!IP_STOP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .
- class ZCL_EXCEL_STYLE_CONDITIONAL definition load .
class-methods FACTORY_COND_STYLE_ICONSET
importing
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
@@ -94,23 +96,27 @@ public section.
!IV_CFVO4_VALUE type ZEXCEL_CONDITIONAL_VALUE optional
!IV_CFVO5_TYPE type ZEXCEL_CONDITIONAL_TYPE default C_CFVO_TYPE_PERCENT
!IV_CFVO5_VALUE type ZEXCEL_CONDITIONAL_VALUE optional
- !IV_SHOWVALUE type ZEXCEL_CONDITIONAL_SHOW_VALUE default ZCL_EXCEL_STYLE_CONDITIONAL=>C_SHOWVALUE_TRUE
+ !IV_SHOWVALUE type ZEXCEL_CONDITIONAL_SHOW_VALUE default ZCL_EXCEL_STYLE_COND=>C_SHOWVALUE_TRUE
returning
- value(RV_STYLE_CONDITIONAL) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ value(EO_STYLE_COND) type ref to ZCL_EXCEL_STYLE_COND .
+ methods GET_GUID
+ returning
+ value(EP_GUID) type ZEXCEL_CELL_STYLE .
*"* protected components of class ZABAP_EXCEL_STYLE_FONT
*"* do not include other source files here!!!
protected section.
private section.
data MV_RULE_RANGE type STRING .
+ data GUID type ZEXCEL_CELL_STYLE .
ENDCLASS.
-CLASS ZCL_EXCEL_STYLE_CONDITIONAL IMPLEMENTATION.
+CLASS ZCL_EXCEL_STYLE_COND IMPLEMENTATION.
-METHOD add_range.
+METHOD ADD_RANGE.
DATA: lv_column TYPE zexcel_cell_column,
lv_row_alpha TYPE string,
lv_col_alpha TYPE string,
@@ -160,30 +166,37 @@ ENDMETHOD.
METHOD constructor.
DATA: ls_iconset TYPE zexcel_conditional_iconset.
- ls_iconset-iconset = zcl_excel_style_conditional=>c_iconset_3trafficlights.
- ls_iconset-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ 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_value = '0'.
- ls_iconset-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo2_value = '20'.
- ls_iconset-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo3_value = '40'.
- ls_iconset-cfvo4_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo4_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo4_value = '60'.
- ls_iconset-cfvo5_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo5_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo5_value = '80'.
- me->rule = zcl_excel_style_conditional=>c_rule_none.
+ me->rule = zcl_excel_style_cond=>c_rule_none.
* me->iconset->operator = zcl_excel_style_conditional=>c_operator_none.
me->mode_iconset = ls_iconset.
me->priority = 1.
* inizialize dimension range
- me->MV_RULE_RANGE = 'A1'.
+ me->mv_rule_range = 'A1'.
+
+ IF ip_guid IS NOT INITIAL.
+ me->guid = ip_guid.
+ ELSE.
+ me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ).
+ ENDIF.
+
ENDMETHOD.
-METHOD factory_cond_style_iconset.
+METHOD FACTORY_COND_STYLE_ICONSET.
*--------------------------------------------------------------------*
* Work in progress
@@ -223,14 +236,19 @@ METHOD factory_cond_style_iconset.
ENDMETHOD.
-METHOD get_dimension_range.
+METHOD GET_DIMENSION_RANGE.
ep_dimension_range = me->mv_rule_range.
ENDMETHOD.
-METHOD set_range.
+METHOD GET_GUID.
+ ep_guid = me->guid.
+ENDMETHOD.
+
+
+METHOD SET_RANGE.
CLEAR: me->mv_rule_range.
diff --git a/src/zcl_excel_style_cond.clas.xml b/src/zcl_excel_style_cond.clas.xml
new file mode 100644
index 0000000..eadb4b3
--- /dev/null
+++ b/src/zcl_excel_style_cond.clas.xml
@@ -0,0 +1,400 @@
+
+
+
+
+
+ ZCL_EXCEL_STYLE_COND
+ 1
+ E
+ Font Style
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
+ ZCL_EXCEL_STYLE_COND
+ ADD_RANGE
+ E
+ Add range used in conditional formatting
+
+
+ ZCL_EXCEL_STYLE_COND
+ CONSTRUCTOR
+ E
+ CONSTRUCTOR
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_FORMULA
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_MAX
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_MIN
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_NUMBER
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_PERCENT
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_CFVO_TYPE_PERCENTILE
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3ARROWS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3ARROWSGRAY
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3FLAGS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3SIGNS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3SYMBOLS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3SYMBOLS2
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3TRAFFICLIGHTS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_3TRAFFICLIGHTS2
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_4ARROWS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_4ARROWSGRAY
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_4RATING
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_4REDTOBLACK
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_4TRAFFICLIGHTS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_5ARROWS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_5ARROWSGRAY
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_5QUARTERS
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_ICONSET_5RATING
+ E
+ Condition rule iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_BEGINSWITH
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_BETWEEN
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_CONTAINSTEXT
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_ENDSWITH
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_EQUAL
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_GREATERTHAN
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_GREATERTHANOREQUAL
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_LESSTHAN
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_LESSTHANOREQUAL
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_NONE
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_NOTCONTAINS
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_OPERATOR_NOTEQUAL
+ E
+ Condition operator
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_ABOVE_AVERAGE
+ E
+ Rule above avearge
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_CELLIS
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_COLORSCALE
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_CONTAINSTEXT
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_DATABAR
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_EXPRESSION
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_ICONSET
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_NONE
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_RULE_TOP10
+ E
+ Rule top-10
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_SHOWVALUE_FALSE
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ C_SHOWVALUE_TRUE
+ E
+ Condition type
+
+
+ ZCL_EXCEL_STYLE_COND
+ FACTORY_COND_STYLE_ICONSET
+ E
+ Add conditional style of type iconset
+
+
+ ZCL_EXCEL_STYLE_COND
+ GET_DIMENSION_RANGE
+ E
+ Get used range dimension
+
+
+ ZCL_EXCEL_STYLE_COND
+ GET_GUID
+ E
+ Get guid
+
+
+ ZCL_EXCEL_STYLE_COND
+ GUID
+ E
+ Style identifier
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_ABOVE_AVERAGE
+ E
+ Top10 settings ( topxx_count determines top20,top50... )
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_CELLIS
+ E
+ Iconset settings
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_COLORSCALE
+ E
+ Colorscale settings
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_DATABAR
+ E
+ Databar settings
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_EXPRESSION
+ E
+ Expression settings
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_ICONSET
+ E
+ Iconset settings
+
+
+ ZCL_EXCEL_STYLE_COND
+ MODE_TOP10
+ E
+ Top10 settings ( topxx_count determines top20,top50... )
+
+
+ ZCL_EXCEL_STYLE_COND
+ MV_RULE_RANGE
+ E
+ Rule range
+
+
+ ZCL_EXCEL_STYLE_COND
+ PRIORITY
+ E
+ Style Priority
+
+
+ ZCL_EXCEL_STYLE_COND
+ RULE
+ E
+ Condition rule
+
+
+ ZCL_EXCEL_STYLE_COND
+ SET_RANGE
+ E
+ Set range used in conditional formatting
+
+
+
+
+
diff --git a/src/zcl_excel_style_conditional.clas.xml b/src/zcl_excel_style_conditional.clas.xml
deleted file mode 100644
index ab4c666..0000000
--- a/src/zcl_excel_style_conditional.clas.xml
+++ /dev/null
@@ -1,676 +0,0 @@
-
-
-
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- 1
- E
- Font Style
- 2
- 1
- X
- X
- X
- X
-
-
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- ADD_RANGE
- E
- Add range used in conditional formatting
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- CONSTRUCTOR
- E
- CONSTRUCTOR
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- CONSTRUCTOR
- I
- CONSTRUCTOR
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_FORMULA
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_FORMULA
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_MAX
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_MIN
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_NUMBER
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_NUMBER
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_PERCENT
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_PERCENT
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_PERCENTILE
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_CFVO_TYPE_PERCENTILE
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3ARROWS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3ARROWS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3ARROWSGRAY
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3ARROWSGRAY
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3FLAGS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3FLAGS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SIGNS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SIGNS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SYMBOLS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SYMBOLS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SYMBOLS2
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3SYMBOLS2
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3TRAFFICLIGHTS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3TRAFFICLIGHTS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3TRAFFICLIGHTS2
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_3TRAFFICLIGHTS2
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4ARROWS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4ARROWS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4ARROWSGRAY
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4ARROWSGRAY
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4RATING
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4RATING
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4REDTOBLACK
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4REDTOBLACK
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4TRAFFICLIGHTS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_4TRAFFICLIGHTS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5ARROWS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5ARROWS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5ARROWSGRAY
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5ARROWSGRAY
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5QUARTERS
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5QUARTERS
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5RATING
- E
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_ICONSET_5RATING
- I
- Condition rule iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_BEGINSWITH
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_BEGINSWITH
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_BETWEEN
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_BETWEEN
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_CONTAINSTEXT
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_CONTAINSTEXT
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_ENDSWITH
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_ENDSWITH
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_EQUAL
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_EQUAL
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_GREATERTHAN
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_GREATERTHAN
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_GREATERTHANOREQUAL
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_GREATERTHANOREQUAL
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_LESSTHAN
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_LESSTHAN
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_LESSTHANOREQUAL
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_LESSTHANOREQUAL
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NONE
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NONE
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NOTCONTAINS
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NOTCONTAINS
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NOTEQUAL
- E
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_OPERATOR_NOTEQUAL
- I
- Condition operator
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_ABOVE_AVERAGE
- E
- Rule above avearge
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_CELLIS
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_CELLIS
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_COLORSCALE
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_CONTAINSTEXT
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_CONTAINSTEXT
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_DATABAR
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_EXPRESSION
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_EXPRESSION
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_ICONSET
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_ICONSET
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_NONE
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_NONE
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_RULE_TOP10
- E
- Rule top-10
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_SHOWVALUE_FALSE
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_SHOWVALUE_FALSE
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_SHOWVALUE_TRUE
- E
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- C_SHOWVALUE_TRUE
- I
- Condition type
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- FACTORY_COND_STYLE_ICONSET
- E
- Add conditional style of type iconset
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- GET_DIMENSION_RANGE
- E
- Get used range dimension
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- GET_DIMENSION_RANGE
- I
- Get used range dimension
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_ABOVE_AVERAGE
- E
- Top10 settings ( topxx_count determines top20,top50... )
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_CELLIS
- E
- Iconset settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_CELLIS
- I
- Iconset settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_COLORSCALE
- E
- Colorscale settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_DATABAR
- E
- Databar settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_EXPRESSION
- E
- Expression settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_EXPRESSION
- I
- Expression settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_ICONSET
- E
- Iconset settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_ICONSET
- I
- Iconset settings
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MODE_TOP10
- E
- Top10 settings ( topxx_count determines top20,top50... )
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- MV_RULE_RANGE
- E
- Rule range
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- PRIORITY
- E
- Style Priority
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- PRIORITY
- I
- Style Priority
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- RULE
- E
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- RULE
- I
- Condition rule
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- SET_RANGE
- E
- Set range used in conditional formatting
-
-
- ZCL_EXCEL_STYLE_CONDITIONAL
- SET_RANGE
- I
- Set range used in conditional formatting
-
-
-
-
-
diff --git a/src/zcl_excel_styles.clas.abap b/src/zcl_excel_styles.clas.abap
index acab4f7..9f0e434 100644
--- a/src/zcl_excel_styles.clas.abap
+++ b/src/zcl_excel_styles.clas.abap
@@ -36,9 +36,9 @@ public section.
value(EP_STYLE_CODE) type I .
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_STYLES
+*"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!!
+protected section.
private section.
data STYLES type ref to CL_OBJECT_COLLECTION .
diff --git a/src/zcl_excel_styles_cond.clas.abap b/src/zcl_excel_styles_cond.clas.abap
new file mode 100644
index 0000000..65d1c5d
--- /dev/null
+++ b/src/zcl_excel_styles_cond.clas.abap
@@ -0,0 +1,89 @@
+class ZCL_EXCEL_STYLES_COND definition
+ public
+ final
+ create public .
+
+*"* public components of class ZCL_EXCEL_STYLES_COND
+*"* do not include other source files here!!!
+public section.
+
+ methods ADD
+ importing
+ !IP_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
+ methods CLEAR .
+ methods CONSTRUCTOR .
+ methods GET
+ importing
+ !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
+ returning
+ value(EO_STYLE_COND) type ref to ZCL_EXCEL_STYLE_COND .
+ 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_STYLE_COND type ref to ZCL_EXCEL_STYLE_COND .
+ methods SIZE
+ returning
+ value(EP_SIZE) type I .
+*"* protected components of class ZABAP_EXCEL_WORKSHEETS
+*"* do not include other source files here!!!
+protected section.
+*"* private components of class ZCL_EXCEL_STYLES_COND
+*"* do not include other source files here!!!
+private section.
+
+ data STYLES_COND type ref to CL_OBJECT_COLLECTION .
+ENDCLASS.
+
+
+
+CLASS ZCL_EXCEL_STYLES_COND IMPLEMENTATION.
+
+
+METHOD ADD.
+ styles_cond->add( ip_style_cond ).
+ENDMETHOD.
+
+
+METHOD CLEAR.
+ styles_cond->clear( ).
+ENDMETHOD.
+
+
+METHOD constructor.
+
+ CREATE OBJECT styles_cond.
+
+ENDMETHOD.
+
+
+METHOD get.
+ DATA lv_index TYPE i.
+ lv_index = ip_index.
+ eo_style_cond ?= styles_cond->if_object_collection~get( lv_index ).
+ENDMETHOD.
+
+
+METHOD get_iterator.
+ eo_iterator ?= styles_cond->if_object_collection~get_iterator( ).
+ENDMETHOD.
+
+
+METHOD is_empty.
+ is_empty = styles_cond->if_object_collection~is_empty( ).
+ENDMETHOD.
+
+
+METHOD remove.
+ styles_cond->remove( ip_style_cond ).
+ENDMETHOD.
+
+
+METHOD size.
+ ep_size = styles_cond->if_object_collection~size( ).
+ENDMETHOD.
+ENDCLASS.
diff --git a/src/zcl_excel_styles_cond.clas.xml b/src/zcl_excel_styles_cond.clas.xml
new file mode 100644
index 0000000..edaa9df
--- /dev/null
+++ b/src/zcl_excel_styles_cond.clas.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ ZCL_EXCEL_STYLES_COND
+ 1
+ E
+ Styles conditional collection
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
+
diff --git a/src/zcl_excel_styles_conditional.clas.abap b/src/zcl_excel_styles_conditional.clas.abap
deleted file mode 100644
index 288dc9e..0000000
--- a/src/zcl_excel_styles_conditional.clas.abap
+++ /dev/null
@@ -1,89 +0,0 @@
-class ZCL_EXCEL_STYLES_CONDITIONAL definition
- public
- final
- create public .
-
-*"* public components of class ZCL_EXCEL_STYLES_CONDITIONAL
-*"* do not include other source files here!!!
-public section.
-
- methods ADD
- importing
- !IP_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
- methods CLEAR .
- methods CONSTRUCTOR .
- methods GET
- importing
- !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
- returning
- value(EO_STYLE_CONDITIONAL) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
- 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_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
- methods SIZE
- returning
- value(EP_SIZE) type I .
-*"* protected components of class ZABAP_EXCEL_WORKSHEETS
-*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_STYLES_CONDITIONAL
-*"* do not include other source files here!!!
-private section.
-
- data STYLES_CONDITIONAL type ref to CL_OBJECT_COLLECTION .
-ENDCLASS.
-
-
-
-CLASS ZCL_EXCEL_STYLES_CONDITIONAL IMPLEMENTATION.
-
-
-method ADD.
- styles_conditional->add( ip_style_conditional ).
- endmethod.
-
-
-method CLEAR.
- styles_conditional->clear( ).
- endmethod.
-
-
-method CONSTRUCTOR.
-
- CREATE OBJECT styles_conditional.
-
- endmethod.
-
-
-method GET.
- DATA lv_index TYPE i.
- lv_index = ip_index.
- eo_style_conditional ?= styles_conditional->if_object_collection~get( lv_index ).
- endmethod.
-
-
-method GET_ITERATOR.
- eo_iterator ?= styles_conditional->if_object_collection~get_iterator( ).
- endmethod.
-
-
-method IS_EMPTY.
- is_empty = styles_conditional->if_object_collection~is_empty( ).
- endmethod.
-
-
-method REMOVE.
- styles_conditional->remove( ip_style_conditional ).
- endmethod.
-
-
-method SIZE.
- ep_size = styles_conditional->if_object_collection~size( ).
- endmethod.
-ENDCLASS.
diff --git a/src/zcl_excel_styles_conditional.clas.xml b/src/zcl_excel_styles_conditional.clas.xml
deleted file mode 100644
index e0ee419..0000000
--- a/src/zcl_excel_styles_conditional.clas.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- 1
- E
- Styles conditional collection
- 2
- 1
- X
- X
- X
- X
-
-
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- ADD
- E
- Adds an Element to the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- ADD
- I
- Adds an Element to the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- CLEAR
- E
- Initializes the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- CLEAR
- I
- Initializes the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- CONSTRUCTOR
- E
- CONSTRUCTOR
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- CONSTRUCTOR
- I
- CONSTRUCTOR
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- GET
- E
- Gets Element
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- GET
- I
- Gets Element
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- GET_ITERATOR
- E
- Returns an iterator
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- GET_ITERATOR
- I
- Returns an iterator
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- IS_EMPTY
- E
- Checks whether elements are contained
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- IS_EMPTY
- I
- Checks whether elements are contained
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- REMOVE
- E
- Deletes an Element from the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- REMOVE
- I
- Deletes an Element from the Collection
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- SIZE
- E
- Specifies number of contained elements
-
-
- ZCL_EXCEL_STYLES_CONDITIONAL
- SIZE
- I
- Specifies number of contained elements
-
-
-
-
-
diff --git a/src/zcl_excel_table.clas.abap b/src/zcl_excel_table.clas.abap
index fc7b2b3..1354caa 100644
--- a/src/zcl_excel_table.clas.abap
+++ b/src/zcl_excel_table.clas.abap
@@ -112,9 +112,9 @@ public section.
ZCX_EXCEL .
*"* protected components of class ZCL_EXCEL_TABLE
*"* do not include other source files here!!!
-protected section.
-*"* private components of class ZCL_EXCEL_TABLE
+*"* protected components of class ZCL_EXCEL_TABLE
*"* do not include other source files here!!!
+protected section.
private section.
data ID type I .
diff --git a/src/zcl_excel_worksheet.clas.abap b/src/zcl_excel_worksheet.clas.abap
index 62f2d62..03414e4 100644
--- a/src/zcl_excel_worksheet.clas.abap
+++ b/src/zcl_excel_worksheet.clas.abap
@@ -25,26 +25,36 @@ public section.
constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT
constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT
data EXCEL type ref to ZCL_EXCEL read-only .
- data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . . . . . . . . . . . . . . . . " .
+ data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
data SHEET_CONTENT type ZEXCEL_T_CELL_DATA .
data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP .
- data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . " .
- data SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . " .
+ data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+ data SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
data STYLES type ZEXCEL_T_SHEET_STYLE .
data TABCOLOR type ZEXCEL_S_TABCOLOR read-only .
methods ADD_DRAWING
importing
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
- methods ADD_NEW_CONDITIONAL_STYLE
+ methods ADD_NEW_COLUMN
+ importing
+ !IP_COLUMN type SIMPLE
returning
- value(EO_CONDITIONAL_STYLE) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
+ value(EO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
+ methods ADD_NEW_STYLE_COND
+ returning
+ value(EO_STYLE_COND) type ref to ZCL_EXCEL_STYLE_COND .
methods ADD_NEW_DATA_VALIDATION
returning
value(EO_DATA_VALIDATION) type ref to ZCL_EXCEL_DATA_VALIDATION .
methods ADD_NEW_RANGE
returning
value(EO_RANGE) type ref to ZCL_EXCEL_RANGE .
+ methods ADD_NEW_ROW
+ importing
+ !IP_ROW type SIMPLE
+ returning
+ value(EO_ROW) type ref to ZCL_EXCEL_ROW .
methods BIND_ALV
importing
!IO_ALV type ref to OBJECT
@@ -244,17 +254,18 @@ public section.
!EP_FORMULA type ZEXCEL_CELL_FORMULA
raising
ZCX_EXCEL .
- methods GET_COLUMN_DIMENSION
+ methods GET_COLUMN
importing
!IP_COLUMN type SIMPLE
returning
- value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME
- raising
- ZCX_EXCEL .
- methods GET_COLUMN_DIMENSIONS
+ value(EO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
+ methods GET_COLUMNS
returning
- value(R_COLUMN_DIMENSION) type ZEXCEL_T_WORKSHEET_COLUMNDIME .
- methods GET_COND_STYLES_ITERATOR
+ value(EO_COLUMNS) type ref to ZCL_EXCEL_COLUMNS .
+ methods GET_COLUMNS_ITERATOR
+ returning
+ value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
+ methods GET_STYLE_COND_ITERATOR
returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
methods GET_DATA_VALIDATIONS_ITERATOR
@@ -263,18 +274,18 @@ public section.
methods GET_DATA_VALIDATIONS_SIZE
returning
value(EP_SIZE) type I .
- methods GET_DEFAULT_COLUMN_DIMENSION
+ methods GET_DEFAULT_COLUMN
returning
- value(R_COLUMN_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
+ value(EO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods GET_DEFAULT_EXCEL_DATE_FORMAT
returning
value(EP_DEFAULT_EXCEL_DATE_FORMAT) type ZEXCEL_NUMBER_FORMAT .
methods GET_DEFAULT_EXCEL_TIME_FORMAT
returning
value(EP_DEFAULT_EXCEL_TIME_FORMAT) type ZEXCEL_NUMBER_FORMAT .
- methods GET_DEFAULT_ROW_DIMENSION
+ methods GET_DEFAULT_ROW
returning
- value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
+ value(EO_ROW) type ref to ZCL_EXCEL_ROW .
methods GET_DIMENSION_RANGE
returning
value(EP_DIMENSION_RANGE) type STRING
@@ -326,17 +337,25 @@ public section.
methods GET_RANGES_ITERATOR
returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
- methods GET_ROW_DIMENSION
+ methods GET_ROW
importing
!IP_ROW type INT4
returning
- value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
- methods GET_ROW_DIMENSIONS
+ value(EO_ROW) type ref to ZCL_EXCEL_ROW .
+ methods GET_ROWS
returning
- value(R_ROW_DIMENSION) type ZEXCEL_T_WORKSHEET_ROWDIMENSIO .
+ value(EO_ROWS) type ref to ZCL_EXCEL_ROWS .
+ methods GET_ROWS_ITERATOR
+ returning
+ value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
methods GET_ROW_OUTLINES
returning
value(RT_ROW_OUTLINES) type MTY_TS_OUTLINES_ROW .
+ methods GET_STYLE_COND
+ importing
+ !IP_GUID type ZEXCEL_CELL_STYLE
+ returning
+ value(EO_STYLE_COND) type ref to ZCL_EXCEL_STYLE_COND .
methods GET_TABCOLOR
returning
value(EV_TABCOLOR) type ZEXCEL_S_TABCOLOR .
@@ -474,8 +493,8 @@ private section.
TYPE HASHED TABLE OF mty_s_font_cache
WITH UNIQUE KEY font_name font_height flag_bold flag_italic .
types:
- mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row .
- types:
+* types:
+* mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row .
BEGIN OF mty_merge,
row_from TYPE i,
row_to TYPE i,
@@ -485,35 +504,35 @@ private section.
types:
mty_ts_merge TYPE SORTED TABLE OF mty_merge WITH UNIQUE KEY table_line .
- class-data MTH_FONT_CACHE type MTY_TH_FONT_CACHE .
*"* private components of class ZCL_EXCEL_WORKSHEET
*"* do not include other source files here!!!
data ACTIVE_CELL type ZEXCEL_S_CELL_DATA .
data CHARTS type ref to ZCL_EXCEL_DRAWINGS .
- data COLUMN_DIMENSIONS type ZEXCEL_T_WORKSHEET_COLUMNDIME .
- data CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL .
+ data COLUMNS type ref to ZCL_EXCEL_COLUMNS .
+ data ROW_DEFAULT type ref to ZCL_EXCEL_ROW .
+ data COLUMN_DEFAULT type ref to ZCL_EXCEL_COLUMN .
+ data STYLES_COND type ref to ZCL_EXCEL_STYLES_COND .
data DATA_VALIDATIONS type ref to ZCL_EXCEL_DATA_VALIDATIONS .
- data DEFAULT_COLUMN_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
data DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT .
data DEFAULT_EXCEL_TIME_FORMAT type ZEXCEL_NUMBER_FORMAT .
- data DEFAULT_ROW_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
data DRAWINGS type ref to ZCL_EXCEL_DRAWINGS .
data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN .
data FREEZE_PANE_CELL_ROW type ZEXCEL_CELL_ROW .
data GUID type UUID .
data HYPERLINKS type ref to CL_OBJECT_COLLECTION .
data LOWER_CELL type ZEXCEL_S_CELL_DATA .
+ data MO_PAGEBREAKS type ref to ZCL_EXCEL_WORKSHEET_PAGEBREAKS .
+ class-data MTH_FONT_CACHE type MTY_TH_FONT_CACHE .
data MT_MERGED_CELLS type MTY_TS_MERGE .
data MT_ROW_OUTLINES type MTY_TS_OUTLINES_ROW .
- data MO_PAGEBREAKS type ref to ZCL_EXCEL_WORKSHEET_PAGEBREAKS .
data PRINT_TITLE_COL_FROM type ZEXCEL_CELL_COLUMN_ALPHA .
data PRINT_TITLE_COL_TO type ZEXCEL_CELL_COLUMN_ALPHA .
data PRINT_TITLE_ROW_FROM type ZEXCEL_CELL_ROW .
data PRINT_TITLE_ROW_TO type ZEXCEL_CELL_ROW .
data RANGES type ref to ZCL_EXCEL_RANGES .
- data ROW_DIMENSIONS type MTY_TS_ROW_DIMENSION .
+ data ROWS type ref to ZCL_EXCEL_ROWS .
data TABLES type ref to CL_OBJECT_COLLECTION .
- data TITLE type ZEXCEL_SHEET_TITLE value 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . " .
+ data TITLE type ZEXCEL_SHEET_TITLE value 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
data UPPER_CELL type ZEXCEL_S_CELL_DATA .
methods CALCULATE_CELL_WIDTH
@@ -554,11 +573,18 @@ method ADD_DRAWING.
endmethod.
-method ADD_NEW_CONDITIONAL_STYLE.
+METHOD add_new_column.
+ DATA: lv_column_alpha TYPE zexcel_cell_column_alpha.
- CREATE OBJECT eo_conditional_style.
- conditional_styles->add( eo_conditional_style ).
- endmethod.
+ lv_column_alpha = zcl_excel_common=>convert_column2alpha( ip_column ).
+
+ CREATE OBJECT eo_column
+ EXPORTING
+ ip_index = lv_column_alpha
+ ip_excel = me->excel
+ ip_worksheet = me.
+ columns->add( eo_column ).
+ENDMETHOD.
method ADD_NEW_DATA_VALIDATION.
@@ -568,11 +594,25 @@ method ADD_NEW_DATA_VALIDATION.
endmethod.
-method ADD_NEW_RANGE.
+METHOD add_new_range.
* Create default blank range
CREATE OBJECT eo_range.
ranges->add( eo_range ).
- endmethod.
+ENDMETHOD.
+
+
+METHOD add_new_row.
+ CREATE OBJECT eo_row
+ EXPORTING
+ ip_index = ip_row.
+ rows->add( eo_row ).
+ENDMETHOD.
+
+
+METHOD add_new_style_cond.
+ CREATE OBJECT eo_style_cond.
+ styles_cond->add( eo_style_cond ).
+ENDMETHOD.
method BIND_ALV.
@@ -2662,7 +2702,7 @@ method BIND_ALV_OLE2.
endmethod.
-method BIND_TABLE.
+METHOD bind_table.
*--------------------------------------------------------------------*
* issue #230 - Pimp my Code
* - Stefan Schmöcker, (wi p) 2012-12-01
@@ -2702,12 +2742,14 @@ method BIND_TABLE.
lv_maxcol TYPE i,
lv_maxrow TYPE i,
lo_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_style_cond TYPE REF TO zcl_excel_style_cond,
lo_curtable TYPE REF TO zcl_excel_table.
FIELD-SYMBOLS:
TYPE zexcel_s_fieldcatalog,
- TYPE ANY,
- TYPE ANY.
+ TYPE zexcel_s_fieldcatalog,
+ TYPE any,
+ TYPE any.
ls_settings = is_table_settings.
@@ -2796,43 +2838,43 @@ method BIND_TABLE.
" Check if a column with the same name exists, if exists add a counter
" If no medium description is provided we try to use small or long
* lv_value = -scrtext_m.
- field-symbols: type any,
- type any,
- type any.
+ FIELD-SYMBOLS: TYPE any,
+ TYPE any,
+ TYPE any.
- case iv_default_descr.
- when 'M'.
- assign -scrtext_m to .
- assign -scrtext_s to .
- assign -scrtext_l to .
- when 'S'.
- assign -scrtext_s to .
- assign -scrtext_m to .
- assign -scrtext_l to .
- when 'L'.
- assign -scrtext_l to .
- assign -scrtext_m to .
- assign -scrtext_s to .
- when others.
- assign -scrtext_m to .
- assign -scrtext_s to .
- assign -scrtext_l to .
- endcase.
+ CASE iv_default_descr.
+ WHEN 'M'.
+ ASSIGN -scrtext_m TO .
+ ASSIGN -scrtext_s TO .
+ ASSIGN -scrtext_l TO .
+ WHEN 'S'.
+ ASSIGN -scrtext_s TO .
+ ASSIGN -scrtext_m TO .
+ ASSIGN -scrtext_l TO .
+ WHEN 'L'.
+ ASSIGN -scrtext_l TO .
+ ASSIGN -scrtext_m TO .
+ ASSIGN -scrtext_s TO .
+ WHEN OTHERS.
+ ASSIGN -scrtext_m TO .
+ ASSIGN -scrtext_s TO .
+ ASSIGN -scrtext_l TO .
+ ENDCASE.
- if is not initial.
- lv_value = .
- -scrtext_l = lv_value.
- elseif is not initial.
- lv_value = .
- -scrtext_l = lv_value.
- elseif is not initial.
- lv_value = .
- -scrtext_l = lv_value.
- else.
- lv_value = 'Column'. " default value as Excel does
- -scrtext_l = lv_value.
- endif.
+ IF IS NOT INITIAL.
+ lv_value = .
+ -scrtext_l = lv_value.
+ ELSEIF IS NOT INITIAL.
+ lv_value = .
+ -scrtext_l = lv_value.
+ ELSEIF IS NOT INITIAL.
+ lv_value = .
+ -scrtext_l = lv_value.
+ ELSE.
+ lv_value = 'Column'. " default value as Excel does
+ -scrtext_l = lv_value.
+ ENDIF.
WHILE 1 = 1.
lv_value_lowercase = lv_value.
TRANSLATE lv_value_lowercase TO LOWER CASE.
@@ -2866,7 +2908,7 @@ method BIND_TABLE.
" issue #290 Add formula support in table
IF -formula EQ abap_true.
IF -style IS NOT INITIAL.
- IF -abap_type IS NOT INITIAL.
+ IF -abap_type IS NOT INITIAL.
me->set_cell( ip_column = lv_column_alpha
ip_row = lv_row_int
ip_formula =
@@ -2951,13 +2993,14 @@ method BIND_TABLE.
*--------------------------------------------------------------------*
" conditional formatting
*--------------------------------------------------------------------*
- IF -cond_style IS NOT INITIAL.
+ IF -style_cond IS NOT INITIAL.
lv_first_row = ls_settings-top_left_row + 1. " +1 to exclude header
lv_last_row = ls_settings-top_left_row + lv_rows.
- -cond_style->set_range( ip_start_column = lv_column_alpha
- ip_start_row = lv_first_row
- ip_stop_column = lv_column_alpha
- ip_stop_row = lv_last_row ).
+ lo_style_cond = me->get_style_cond( -style_cond ).
+ lo_style_cond->set_range( ip_start_column = lv_column_alpha
+ ip_start_row = lv_first_row
+ ip_stop_column = lv_column_alpha
+ ip_stop_row = lv_last_row ).
ENDIF.
ENDLOOP.
@@ -2977,7 +3020,7 @@ method BIND_TABLE.
ENDIF.
" << Issue #291
- endmethod.
+ENDMETHOD.
METHOD calculate_cell_width.
@@ -3231,7 +3274,7 @@ METHOD calculate_cell_width.
ENDMETHOD.
-method CALCULATE_COLUMN_WIDTHS.
+METHOD calculate_column_widths.
TYPES:
BEGIN OF t_auto_size,
col_index TYPE int4,
@@ -3239,77 +3282,54 @@ method CALCULATE_COLUMN_WIDTHS.
END OF t_auto_size.
TYPES: tt_auto_size TYPE TABLE OF t_auto_size.
- DATA: column_dimensions TYPE zexcel_t_worksheet_columndime.
- DATA: column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ DATA: lo_column_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_column TYPE REF TO zcl_excel_column.
DATA: auto_size TYPE flag.
DATA: auto_sizes TYPE tt_auto_size.
-* DATA: col_alpha TYPE zexcel_cell_column_alpha." issue #155 - less restrictive typing for ip_column
+ DATA: cell_value TYPE zexcel_cell_value.
+ DATA: cell_style TYPE REF TO zcl_excel_style.
DATA: count TYPE int4.
DATA: highest_row TYPE int4.
DATA: width TYPE float.
- FIELD-SYMBOLS: LIKE LINE OF column_dimensions.
FIELD-SYMBOLS: LIKE LINE OF auto_sizes.
- column_dimensions[] = me->get_column_dimensions( ).
- LOOP AT column_dimensions ASSIGNING .
- auto_size = -column_dimension->get_auto_size( ).
+ lo_column_iterator = me->get_columns_iterator( ).
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
+ auto_size = lo_column->get_auto_size( ).
IF auto_size = abap_true.
APPEND INITIAL LINE TO auto_sizes ASSIGNING .
- -col_index = -column_dimension->get_column_index( ).
+ -col_index = lo_column->get_column_index( ).
-width = -1.
ENDIF.
- ENDLOOP.
+ ENDWHILE.
" There is only something to do if there are some auto-size columns
IF NOT auto_sizes IS INITIAL.
highest_row = me->get_highest_row( ).
LOOP AT auto_sizes ASSIGNING .
-* col_alpha = zcl_excel_common=>convert_column2alpha( -col_index )." issue #155 - less restrictive typing for ip_column
count = 1.
WHILE count <= highest_row.
* Do not check merged cells
IF is_cell_merged(
ip_column = -col_index
ip_row = count ) = abap_false.
-* Start of change # issue 139 - Dateretention of cellstyles
-* IF cell_style IS BOUND.
-* CREATE OBJECT cell_style.
-* ENDIF.
-* me->get_cell(
-* EXPORTING
-* ip_column = col_alpha " Cell Column
-* ip_row = count " Cell Row
-* IMPORTING
-* ep_value = cell_value " Cell Value
-* ep_style = cell_style " Request Cell Style as well
-* ).
-* " For an easy start we just take the number of characters as the width
-* width = strlen( cell_value ).
-* " Addition to solve issue #120, contribution by Stefan Schmöcker
-* " Calculate width using Font Size and Font Type
-* IF cell_style IS BOUND
-* AND cell_style->font IS BOUND.
-* width = cell_style->font->calculate_text_width( cell_value ).
-* ENDIF.
-* width = calculate_cell_width( ip_column = col_alpha " issue #155 - less restrictive typing for ip_column
- width = calculate_cell_width( ip_column = -col_index " issue #155 - less restrictive typing for ip_column
- ip_row = count ).
-* End of change # issue 139 - Dateretention of cellstyles
- IF width > -width.
- -width = width.
- ENDIF.
+ width = calculate_cell_width( ip_column = -col_index " issue #155 - less restrictive typing for ip_column
+ ip_row = count ).
+ IF width > -width.
+ -width = width.
+ ENDIF.
ENDIF.
count = count + 1.
ENDWHILE.
-* column_dimension = me->get_column_dimension( col_alpha ). " issue #155 - less restrictive typing for ip_column
- column_dimension = me->get_column_dimension( -col_index ). " issue #155 - less restrictive typing for ip_column
- column_dimension->set_width( -width ).
+ lo_column = me->get_column( -col_index ). " issue #155 - less restrictive typing for ip_column
+ lo_column->set_width( -width ).
ENDLOOP.
ENDIF.
- endmethod.
+ENDMETHOD.
METHOD change_cell_style.
@@ -3643,9 +3663,11 @@ METHOD constructor.
me->set_title( ip_title = lv_title ).
CREATE OBJECT sheet_setup.
- CREATE OBJECT conditional_styles.
+ CREATE OBJECT styles_cond.
CREATE OBJECT data_validations.
CREATE OBJECT tables.
+ CREATE OBJECT columns.
+ CREATE OBJECT rows.
CREATE OBJECT ranges. " issue #163
CREATE OBJECT mo_pagebreaks.
CREATE OBJECT drawings
@@ -3783,7 +3805,7 @@ method GET_ACTIVE_CELL.
endmethod.
-method GET_CELL.
+METHOD get_cell.
DATA: lv_column TYPE zexcel_cell_column,
ls_sheet_content TYPE zexcel_s_cell_data.
@@ -3811,42 +3833,43 @@ method GET_CELL.
ENDIF.
ENDWHILE.
ENDIF.
- endmethod.
+ENDMETHOD.
-method GET_COLUMN_DIMENSION.
- FIELD-SYMBOLS: LIKE LINE OF column_dimensions.
- DATA: lv_column_alpha TYPE zexcel_cell_column_alpha. " issue #155 - less restrictive typing for ip_column
+METHOD get_column.
- lv_column_alpha = zcl_excel_common=>convert_column2alpha( ip_column )." issue #155 - less restrictive typing for ip_column
- READ TABLE me->column_dimensions ASSIGNING
- WITH KEY column = lv_column_alpha. " issue #155 - less restrictive typing for ip_column
+ DATA: lo_column_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_column TYPE REF TO zcl_excel_column,
+ lv_column TYPE zexcel_cell_column.
- IF NOT IS ASSIGNED.
- CREATE OBJECT r_column_dimension
- EXPORTING
- ip_index = lv_column_alpha " issue #155 - less restrictive typing for ip_column
- ip_excel = me->excel " issue #157 - Allow style for columns
- ip_worksheet = me. " issue #157 - Allow style for columns
- APPEND INITIAL LINE TO me->column_dimensions ASSIGNING .
- -column = lv_column_alpha. " issue #155 - less restrictive typing for ip_column
- -column_dimension = r_column_dimension.
- ELSE.
- r_column_dimension = -column_dimension.
+ lv_column = zcl_excel_common=>convert_column2int( ip_column ).
+
+ lo_column_iterator = me->get_columns_iterator( ).
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
+ IF lo_column->get_column_index( ) = lv_column.
+ eo_column = lo_column.
+ EXIT.
+ ENDIF.
+ ENDWHILE.
+
+ IF eo_column IS NOT BOUND.
+ eo_column = me->add_new_column( ip_column ).
ENDIF.
- endmethod.
+ENDMETHOD.
-method GET_COLUMN_DIMENSIONS.
- r_column_dimension[] = me->column_dimensions[].
- endmethod.
+METHOD get_columns.
+ eo_columns = me->columns.
+ENDMETHOD.
-method GET_COND_STYLES_ITERATOR.
+METHOD GET_COLUMNS_ITERATOR.
- eo_iterator = me->conditional_styles->get_iterator( ).
- endmethod.
+ eo_iterator = me->columns->get_iterator( ).
+
+ENDMETHOD.
method GET_DATA_VALIDATIONS_ITERATOR.
@@ -3860,17 +3883,17 @@ method GET_DATA_VALIDATIONS_SIZE.
endmethod.
-method GET_DEFAULT_COLUMN_DIMENSION.
- IF me->default_column_dimension IS NOT BOUND.
- CREATE OBJECT me->default_column_dimension
+METHOD GET_DEFAULT_COLUMN.
+ IF me->column_default IS NOT BOUND.
+ CREATE OBJECT me->column_default
EXPORTING
- ip_index = 'A' " ????
- ip_worksheet = me
- ip_excel = me->excel.
+ ip_index = 'A' " ????
+ ip_worksheet = me
+ ip_excel = me->excel.
ENDIF.
- r_column_dimension = me->default_column_dimension.
- endmethod.
+ eo_column = me->column_default.
+ENDMETHOD.
method GET_DEFAULT_EXCEL_DATE_FORMAT.
@@ -3933,13 +3956,13 @@ method GET_DEFAULT_EXCEL_TIME_FORMAT.
endmethod.
-method GET_DEFAULT_ROW_DIMENSION.
- IF me->default_row_dimension IS NOT BOUND.
- CREATE OBJECT me->default_row_dimension.
+METHOD get_default_row.
+ IF me->row_default IS NOT BOUND.
+ CREATE OBJECT me->row_default.
ENDIF.
- r_row_dimension = me->default_row_dimension.
- endmethod.
+ eo_row = me->row_default.
+ENDMETHOD.
method GET_DIMENSION_RANGE.
@@ -4073,32 +4096,35 @@ method GET_RANGES_ITERATOR.
endmethod.
-METHOD GET_ROW_DIMENSION.
+METHOD get_row.
- FIELD-SYMBOLS: LIKE LINE OF me->row_dimensions.
+ DATA: lo_row_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_row TYPE REF TO zcl_excel_row.
- DATA: ls_row_dimension LIKE LINE OF me->row_dimensions.
+ lo_row_iterator = me->get_rows_iterator( ).
+ WHILE lo_row_iterator->has_next( ) = abap_true.
+ lo_row ?= lo_row_iterator->get_next( ).
+ IF lo_row->get_row_index( ) = ip_row.
+ eo_row = lo_row.
+ EXIT.
+ ENDIF.
+ ENDWHILE.
- READ TABLE me->row_dimensions ASSIGNING
- WITH TABLE KEY row = ip_row.
-
- IF NOT IS ASSIGNED.
- CREATE OBJECT r_row_dimension
- EXPORTING
- ip_index = ip_row.
- ls_row_dimension-row = ip_row.
- ls_row_dimension-row_dimension = r_row_dimension.
- INSERT ls_row_dimension INTO TABLE me->row_dimensions.
- ELSE.
- r_row_dimension = -row_dimension.
+ IF eo_row IS NOT BOUND.
+ eo_row = me->add_new_row( ip_row ).
ENDIF.
ENDMETHOD.
-METHOD get_row_dimensions.
+METHOD GET_ROWS.
+ eo_rows = me->rows.
+ENDMETHOD.
- r_row_dimension[] = me->row_dimensions[].
+
+METHOD get_rows_iterator.
+
+ eo_iterator = me->rows->get_iterator( ).
ENDMETHOD.
@@ -4110,6 +4136,29 @@ METHOD get_row_outlines.
ENDMETHOD.
+METHOD get_style_cond.
+
+ DATA: lo_style_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_style_cond TYPE REF TO zcl_excel_style_cond.
+
+ lo_style_iterator = me->get_style_cond_iterator( ).
+ WHILE lo_style_iterator->has_next( ) = abap_true.
+ lo_style_cond ?= lo_style_iterator->get_next( ).
+ IF lo_style_cond->get_guid( ) = ip_guid.
+ eo_style_cond = lo_style_cond.
+ EXIT.
+ ENDIF.
+ ENDWHILE.
+
+ENDMETHOD.
+
+
+METHOD get_style_cond_iterator.
+
+ eo_iterator = styles_cond->get_iterator( ).
+ENDMETHOD.
+
+
method GET_TABCOLOR.
ev_tabcolor = me->tabcolor.
endmethod.
@@ -4574,7 +4623,7 @@ method SET_CELL_FORMULA.
endmethod.
-method SET_CELL_STYLE.
+METHOD set_cell_style.
DATA: lv_column TYPE zexcel_cell_column,
lv_style_guid TYPE zexcel_cell_style.
@@ -4594,14 +4643,14 @@ method SET_CELL_STYLE.
set_cell( ip_column = ip_column ip_row = ip_row ip_value = '' ip_style = ip_style ).
ENDIF.
- endmethod.
+ENDMETHOD.
method SET_COLUMN_WIDTH.
- DATA: column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ DATA: lo_column TYPE REF TO zcl_excel_column.
DATA: width TYPE float.
- column_dimension = me->get_column_dimension( ip_column ).
+ lo_column = me->get_column( ip_column ).
* if a fix size is supplied use this
IF ip_width_fix IS SUPPLIED.
@@ -4612,7 +4661,7 @@ method SET_COLUMN_WIDTH.
EXPORTING
error = 'Please supply a positive number as column-width'.
ENDIF.
- column_dimension->set_width( width ).
+ lo_column->set_width( width ).
EXIT.
CATCH cx_sy_conversion_no_number.
* Strange stuff passed --> raise error
@@ -4623,7 +4672,7 @@ method SET_COLUMN_WIDTH.
ENDIF.
* If we get down to here, we have to use whatever is found in autosize.
- column_dimension->set_auto_size( ip_width_autosize ).
+ lo_column->set_auto_size( ip_width_autosize ).
endmethod.
@@ -4702,11 +4751,11 @@ method SET_PRINT_GRIDLINES.
endmethod.
-method SET_ROW_HEIGHT.
- DATA: row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
- DATA: height TYPE float.
+METHOD set_row_height.
+ DATA: lo_row TYPE REF TO zcl_excel_row.
+ DATA: height TYPE float.
- row_dimension = me->get_row_dimension( ip_row ).
+ lo_row = me->get_row( ip_row ).
* if a fix size is supplied use this
TRY.
@@ -4716,7 +4765,7 @@ method SET_ROW_HEIGHT.
EXPORTING
error = 'Please supply a positive number as row-height'.
ENDIF.
- row_dimension->set_row_height( height ).
+ lo_row->set_row_height( height ).
EXIT.
CATCH cx_sy_conversion_no_number.
* Strange stuff passed --> raise error
@@ -4725,9 +4774,7 @@ method SET_ROW_HEIGHT.
error = 'Unable to interpret supplied input as number'.
ENDTRY.
-
-
- endmethod.
+ENDMETHOD.
METHOD set_row_outline.
diff --git a/src/zcl_excel_worksheet.clas.xml b/src/zcl_excel_worksheet.clas.xml
index d2a7734..41069c3 100644
--- a/src/zcl_excel_worksheet.clas.xml
+++ b/src/zcl_excel_worksheet.clas.xml
@@ -90,15 +90,9 @@
ZCL_EXCEL_WORKSHEET
- ADD_NEW_CONDITIONAL_STYLE
+ ADD_NEW_COLUMN
E
- Creates a new conditional formatting
-
-
- ZCL_EXCEL_WORKSHEET
- ADD_NEW_CONDITIONAL_STYLE
- I
- Creates a new conditional formatting
+ Create a new column
ZCL_EXCEL_WORKSHEET
@@ -124,6 +118,18 @@
I
Create a new local range
+
+ ZCL_EXCEL_WORKSHEET
+ ADD_NEW_ROW
+ E
+ Create a new row
+
+
+ ZCL_EXCEL_WORKSHEET
+ ADD_NEW_STYLE_COND
+ E
+ Creates a new conditional formatting
+
ZCL_EXCEL_WORKSHEET
BIND_ALV
@@ -210,27 +216,15 @@
ZCL_EXCEL_WORKSHEET
- COLUMN_DIMENSIONS
+ COLUMNS
E
- Collection of column dimensions
+ Ranges collection
ZCL_EXCEL_WORKSHEET
- COLUMN_DIMENSIONS
- I
- Collection of column dimensions
-
-
- ZCL_EXCEL_WORKSHEET
- CONDITIONAL_STYLES
+ COLUMN_DEFAULT
E
- Styles conditional collection
-
-
- ZCL_EXCEL_WORKSHEET
- CONDITIONAL_STYLES
- I
- Styles conditional collection
+ Worksheet ColumnDimension
ZCL_EXCEL_WORKSHEET
@@ -292,18 +286,6 @@
I
Data validations collection
-
- ZCL_EXCEL_WORKSHEET
- DEFAULT_COLUMN_DIMENSION
- E
- Worksheet ColumnDimension
-
-
- ZCL_EXCEL_WORKSHEET
- DEFAULT_COLUMN_DIMENSION
- I
- Worksheet ColumnDimension
-
ZCL_EXCEL_WORKSHEET
DEFAULT_EXCEL_DATE_FORMAT
@@ -328,18 +310,6 @@
I
Date format used in case style is not provide for D fields
-
- ZCL_EXCEL_WORKSHEET
- DEFAULT_ROW_DIMENSION
- E
- Worksheet RowDimension
-
-
- ZCL_EXCEL_WORKSHEET
- DEFAULT_ROW_DIMENSION
- I
- Worksheet RowDimension
-
ZCL_EXCEL_WORKSHEET
DELETE_MERGE
@@ -444,45 +414,27 @@
ZCL_EXCEL_WORKSHEET
- GET_COLUMN_DIMENSION
+ GET_COLUMN
E
- Get column dimension at a specific column
+ Get column object at a specific column
ZCL_EXCEL_WORKSHEET
- GET_COLUMN_DIMENSION
- I
- Get column dimension at a specific column
-
-
- ZCL_EXCEL_WORKSHEET
- GET_COLUMN_DIMENSIONS
+ GET_COLUMNS
E
- Get column dimensions
+ Get columns
ZCL_EXCEL_WORKSHEET
- GET_COLUMN_DIMENSIONS
- I
- Get column dimensions
-
-
- ZCL_EXCEL_WORKSHEET
- GET_COND_STYLES_ITERATOR
+ GET_COLUMNS_ITERATOR
E
- Get conditional styles iterator
-
-
- ZCL_EXCEL_WORKSHEET
- GET_COND_STYLES_ITERATOR
- I
- Get conditional styles iterator
+ Get columns iterator
ZCL_EXCEL_WORKSHEET
GET_DATA_VALIDATIONS_ITERATOR
E
- Get conditional styles iterator
+ Get data validation iterator
ZCL_EXCEL_WORKSHEET
@@ -504,15 +456,9 @@
ZCL_EXCEL_WORKSHEET
- GET_DEFAULT_COLUMN_DIMENSION
+ GET_DEFAULT_COLUMN
E
- Get column dimension at a specific column
-
-
- ZCL_EXCEL_WORKSHEET
- GET_DEFAULT_COLUMN_DIMENSION
- I
- Get column dimension at a specific column
+ Get column at a specific column
ZCL_EXCEL_WORKSHEET
@@ -540,15 +486,9 @@
ZCL_EXCEL_WORKSHEET
- GET_DEFAULT_ROW_DIMENSION
+ GET_DEFAULT_ROW
E
- Get column dimension at a specific column
-
-
- ZCL_EXCEL_WORKSHEET
- GET_DEFAULT_ROW_DIMENSION
- I
- Get column dimension at a specific column
+ Get row at a specific row
ZCL_EXCEL_WORKSHEET
@@ -666,27 +606,21 @@
ZCL_EXCEL_WORKSHEET
- GET_ROW_DIMENSION
+ GET_ROW
E
- Get row dimension at a specific row
+ Get row at a specific row
ZCL_EXCEL_WORKSHEET
- GET_ROW_DIMENSION
- I
- Get column dimension at a specific column
-
-
- ZCL_EXCEL_WORKSHEET
- GET_ROW_DIMENSIONS
+ GET_ROWS
E
- Get row dimensions
+ Get rows
ZCL_EXCEL_WORKSHEET
- GET_ROW_DIMENSIONS
- I
- Get column dimensions
+ GET_ROWS_ITERATOR
+ E
+ Get rows iterator
ZCL_EXCEL_WORKSHEET
@@ -694,6 +628,18 @@
E
Get all outlines for rows
+
+ ZCL_EXCEL_WORKSHEET
+ GET_STYLE_COND
+ E
+ Get style for a specific guid
+
+
+ ZCL_EXCEL_WORKSHEET
+ GET_STYLE_COND_ITERATOR
+ E
+ Get conditional styles iterator
+
ZCL_EXCEL_WORKSHEET
GET_TABCOLOR
@@ -832,12 +778,6 @@
E
All row outlines ( sorted table )
-
- ZCL_EXCEL_WORKSHEET
- MTY_TS_ROW_DIMENSION
- E
- Sorted table for row dimensions
-
ZCL_EXCEL_WORKSHEET
MT_MERGED_CELLS
@@ -936,15 +876,15 @@
ZCL_EXCEL_WORKSHEET
- ROW_DIMENSIONS
+ ROWS
E
- Collection of row dimensions
+ Ranges collection
ZCL_EXCEL_WORKSHEET
- ROW_DIMENSIONS
- I
- Collection of row dimensions
+ ROW_DEFAULT
+ E
+ Worksheet ColumnDimension
ZCL_EXCEL_WORKSHEET
@@ -1168,6 +1108,12 @@
I
Sheet style table type
+
+ ZCL_EXCEL_WORKSHEET
+ STYLES_COND
+ E
+ Styles conditional collection
+
ZCL_EXCEL_WORKSHEET
TABCOLOR
diff --git a/src/zcl_excel_worksheet_columndime.clas.xml b/src/zcl_excel_worksheet_columndime.clas.xml
deleted file mode 100644
index d29281d..0000000
--- a/src/zcl_excel_worksheet_columndime.clas.xml
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- 1
- E
- Worksheet ColumnDimension
- 2
- 1
- X
- X
- X
- X
-
-
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- AUTO_SIZE
- E
- Auto size?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- AUTO_SIZE
- I
- Auto size?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- COLLAPSED
- E
- Collapsed?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- COLLAPSED
- I
- Collapsed?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- COLUMN_INDEX
- E
- Column index
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- COLUMN_INDEX
- I
- Column index
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- EXCEL
- E
- Excel creator
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- EXCEL
- I
- Excel creator
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- GET_COLUMN_STYLE_GUID
- E
- Get guid of column style
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- GET_COLUMN_STYLE_GUID
- I
- Get guid of column style
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- OUTLINE_LEVEL
- E
- Outline level
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- OUTLINE_LEVEL
- I
- Outline level
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- SET_COLUMN_STYLE_BY_GUID
- E
- Set column style by style guid
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- SET_COLUMN_STYLE_BY_GUID
- I
- Set column style by style guid
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- STYLE_GUID
- E
- Style identifier
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- STYLE_GUID
- I
- Style identifier
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- VISIBLE
- E
- Visible?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- VISIBLE
- I
- Visible?
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- WIDTH
- E
- Column width
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- WIDTH
- I
- Column width
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- WORKSHEET
- E
- Worksheet
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- WORKSHEET
- I
- Worksheet
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- XF_INDEX
- E
- Index to cellXf
-
-
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- XF_INDEX
- I
- Index to cellXf
-
-
-
-
-
diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap
index 69caff1..286201f 100644
--- a/src/zcl_excel_writer_2007.clas.abap
+++ b/src/zcl_excel_writer_2007.clas.abap
@@ -36,7 +36,6 @@ protected section.
importing
!IO_DOCUMENT type ref to IF_IXML_DOCUMENT
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
- !IT_COLUMN_DIMENSIONS type ZEXCEL_T_WORKSHEET_COLUMNDIME
returning
value(RV_IXML_SHEET_DATA_ROOT) type ref to IF_IXML_ELEMENT .
methods ADD_FURTHER_DATA_TO_ZIP
@@ -2929,11 +2928,6 @@ METHOD create_xl_sheet.
lc_xml_node_sheetformatpr TYPE string VALUE 'sheetFormatPr',
lc_xml_node_cols TYPE string VALUE 'cols',
lc_xml_node_col TYPE string VALUE 'col',
-* lc_xml_node_sheetdata TYPE string VALUE 'sheetData',
-* lc_xml_node_row TYPE string VALUE 'row',
-* lc_xml_node_c TYPE string VALUE 'c',
-* lc_xml_node_v TYPE string VALUE 'v',
-* lc_xml_node_f TYPE string VALUE 'f',
lc_xml_node_sheetprotection TYPE string VALUE 'sheetProtection',
lc_xml_node_pagemargins TYPE string VALUE 'pageMargins',
lc_xml_node_pagesetup TYPE string VALUE 'pageSetup',
@@ -2994,10 +2988,6 @@ METHOD create_xl_sheet.
lc_xml_attr_outlinelevelrow TYPE string VALUE 'x14ac:outlineLevelRow',
lc_xml_attr_outlinelevelcol TYPE string VALUE 'x14ac:outlineLevelCol',
lc_xml_attr_outlinelevel TYPE string VALUE 'outlineLevel',
-* lc_xml_attr_r TYPE string VALUE 'r',
-* lc_xml_attr_s TYPE string VALUE 's',
-* lc_xml_attr_spans TYPE string VALUE 'spans',
-* lc_xml_attr_t TYPE string VALUE 't',
lc_xml_attr_password TYPE string VALUE 'password',
lc_xml_attr_sheet TYPE string VALUE 'sheet',
lc_xml_attr_objects TYPE string VALUE 'objects',
@@ -3079,13 +3069,11 @@ METHOD create_xl_sheet.
lo_ostream TYPE REF TO if_ixml_ostream,
lo_renderer TYPE REF TO if_ixml_renderer,
lo_iterator TYPE REF TO cl_object_collection_iterator,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
+ lo_style_cond TYPE REF TO zcl_excel_style_cond,
lo_data_validation TYPE REF TO zcl_excel_data_validation,
lo_table TYPE REF TO zcl_excel_table,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
- lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi,
- default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
+ lo_column_default TYPE REF TO zcl_excel_column,
+ lo_row_default TYPE REF TO zcl_excel_row.
DATA: lv_value TYPE string,
lt_range_merge TYPE string_table,
@@ -3108,8 +3096,10 @@ METHOD create_xl_sheet.
lv_freeze_cell_row TYPE zexcel_cell_row,
lv_freeze_cell_column TYPE zexcel_cell_column,
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
- column_dimensions TYPE zexcel_t_worksheet_columndime,
- row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
+ lo_column_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_row TYPE REF TO zcl_excel_row,
ls_style_cond_mapping TYPE zexcel_s_styles_cond_mapping,
lv_relation_id TYPE i VALUE 0,
outline_level_row TYPE i VALUE 0,
@@ -3119,14 +3109,12 @@ METHOD create_xl_sheet.
ls_sheet_content LIKE LINE OF io_worksheet->sheet_content,
ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content,
lv_last_row TYPE i,
- lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
col_count TYPE int4,
merge_count TYPE int4,
write_current_row TYPE boolean,
lt_values TYPE zexcel_t_autofilter_values,
ls_values TYPE zexcel_s_autofilter_values,
-* lv_guid TYPE uuid,
lo_autofilters TYPE REF TO zcl_excel_autofilters,
lo_autofilter TYPE REF TO zcl_excel_autofilter,
l_autofilter_hidden TYPE flag,
@@ -3136,8 +3124,9 @@ METHOD create_xl_sheet.
- FIELD-SYMBOLS: LIKE LINE OF lt_range_merge,
- TYPE zexcel_s_worksheet_columndime.
+ FIELD-SYMBOLS: TYPE zexcel_s_cell_data,
+ LIKE LINE OF lt_range_merge,
+ LIKE LINE OF lts_row_outlines.
*--------------------------------------------------------------------*
* issue #220 - If cell in tables-area don't use default from row or column or sheet - Declarations 2 - start
@@ -3362,23 +3351,24 @@ METHOD create_xl_sheet.
lo_element_root->append_child( new_child = lo_element ). " sheetViews node
- column_dimensions[] = io_worksheet->get_column_dimensions( ).
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
+ lo_row_iterator = io_worksheet->get_rows_iterator( ).
" Calculate col
- IF NOT column_dimensions IS INITIAL.
+ IF NOT lo_column_iterator IS BOUND.
io_worksheet->calculate_column_widths( ).
- column_dimensions[] = io_worksheet->get_column_dimensions( ).
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
ENDIF.
- row_dimensions[] = io_worksheet->get_row_dimensions( ).
+
" sheetFormatPr node
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetformatpr
parent = lo_document ).
" defaultRowHeight
- default_row_dimension = io_worksheet->get_default_row_dimension( ).
- IF default_row_dimension IS BOUND.
- IF default_row_dimension->get_row_height( ) >= 0.
+ lo_row_default = io_worksheet->get_default_row( ).
+ IF lo_row_default IS BOUND.
+ IF lo_row_default->get_row_height( ) >= 0.
lo_element->set_attribute_ns( name = lc_xml_attr_customheight
value = lc_xml_attr_true ).
- lv_value = default_row_dimension->get_row_height( ).
+ lv_value = lo_row_default->get_row_height( ).
ELSE.
lv_value = '12.75'.
ENDIF.
@@ -3390,61 +3380,48 @@ METHOD create_xl_sheet.
lo_element->set_attribute_ns( name = lc_xml_attr_defaultrowheight
value = lv_value ).
" defaultColWidth
- default_col_dimension = io_worksheet->get_default_column_dimension( ).
- IF default_col_dimension IS BOUND.
- IF default_col_dimension->get_width( ) >= 0.
- lv_value = default_col_dimension->get_width( ).
+ lo_column_default = io_worksheet->get_default_column( ).
+ IF lo_column_default IS BOUND.
+ IF lo_column_default->get_width( ) >= 0.
+ lv_value = lo_column_default->get_width( ).
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element->set_attribute_ns( name = lc_xml_attr_defaultcolwidth
value = lv_value ).
ENDIF.
ENDIF.
- " outlineLevelRow
-* Excel is recalculating the outlinelevel on startup from the outline levels found in the rows
-* If we place anything incorrect here it gets corrected, if don't place anything it gets added
-* So no need to calculate the outlinelevel here ( at least for rows - probably for columns as well but I haven't tested yet
-* LOOP AT row_dimensions ASSIGNING .
-* IF -row_dimension->get_outline_level( ) > outline_level_row.
-* outline_level_row = -row_dimension->get_outline_level( ).
-* ENDIF.
-* ENDLOOP.
-* lv_value = outline_level_row.
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-* lo_element->set_attribute_ns( name = lc_xml_attr_outlinelevelrow
-* value = lv_value ).
+
" outlineLevelCol
- LOOP AT column_dimensions ASSIGNING .
- IF -column_dimension->get_outline_level( ) > outline_level_col.
- outline_level_col = -column_dimension->get_outline_level( ).
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
+ IF lo_column->get_outline_level( ) > outline_level_col.
+ outline_level_col = lo_column->get_outline_level( ).
ENDIF.
- ENDLOOP.
+ ENDWHILE.
+
lv_value = outline_level_col.
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element->set_attribute_ns( name = lc_xml_attr_outlinelevelcol
value = lv_value ).
-* lv_value = 0.
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-* lo_element->set_attribute_ns( name = lc_xml_attr_dydescent
-* value = lv_value ).
lo_element_root->append_child( new_child = lo_element ). " sheetFormatPr node
- IF io_worksheet->zif_excel_sheet_properties~get_style( ) IS NOT INITIAL OR NOT column_dimensions IS INITIAL.
+* Reset column iterator
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
+ IF io_worksheet->zif_excel_sheet_properties~get_style( ) IS NOT INITIAL OR lo_column_iterator->has_next( ) = abap_true.
" cols node
lo_element = lo_document->create_simple_element( name = lc_xml_node_cols
parent = lo_document ).
" This code have to be enhanced in order to manage also column style properties
" Now it is an out/out
- IF NOT column_dimensions IS INITIAL.
- LOOP AT column_dimensions ASSIGNING .
+ IF lo_column_iterator->has_next( ) = abap_true.
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
" col node
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_col
parent = lo_document ).
- lv_value = -column_dimension->get_column_index( ).
+ lv_value = lo_column->get_column_index( ).
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = lc_xml_attr_min
@@ -3452,28 +3429,27 @@ METHOD create_xl_sheet.
lo_element_2->set_attribute_ns( name = lc_xml_attr_max
value = lv_value ).
" Width
- IF -column_dimension->get_width( ) < 0.
+ IF lo_column->get_width( ) < 0.
lo_element_2->set_attribute_ns( name = lc_xml_attr_width
value = lc_xml_attr_defaultwidth ).
ELSE.
- lv_value = -column_dimension->get_width( ).
+ lv_value = lo_column->get_width( ).
lo_element_2->set_attribute_ns( name = lc_xml_attr_width
value = lv_value ).
ENDIF.
" Column visibility
- IF -column_dimension->get_visible( ) = abap_false.
+ IF lo_column->get_visible( ) = abap_false.
lo_element_2->set_attribute_ns( name = lc_xml_attr_hidden
value = lc_xml_attr_true ).
ENDIF.
" Auto size?
- IF -column_dimension->get_auto_size( ) = abap_true.
+ IF lo_column->get_auto_size( ) = abap_true.
lo_element_2->set_attribute_ns( name = lc_xml_attr_bestfit
value = lc_xml_attr_true ).
ENDIF.
" Custom width?
- IF default_col_dimension IS BOUND.
- IF -column_dimension->get_width( )
- <> default_col_dimension->get_width( ).
+ IF lo_column_default IS BOUND.
+ IF lo_column->get_width( ) <> lo_column_default->get_width( ).
lo_element_2->set_attribute_ns( name = lc_xml_attr_customwidth
value = lc_xml_attr_true ).
@@ -3483,13 +3459,13 @@ METHOD create_xl_sheet.
value = lc_xml_attr_true ).
ENDIF.
" Collapsed
- IF -column_dimension->get_collapsed( ) = abap_true.
+ IF lo_column->get_collapsed( ) = abap_true.
lo_element_2->set_attribute_ns( name = lc_xml_attr_collapsed
value = lc_xml_attr_true ).
ENDIF.
" outlineLevel
- IF -column_dimension->get_outline_level( ) > 0.
- lv_value = -column_dimension->get_outline_level( ).
+ IF lo_column->get_outline_level( ) > 0.
+ lv_value = lo_column->get_outline_level( ).
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
@@ -3497,14 +3473,9 @@ METHOD create_xl_sheet.
value = lv_value ).
ENDIF.
" Style
-* lv_value = -column_dimension->get_xf_index( ). "del issue #157 - set column style
- lv_style_guid = -column_dimension->get_column_style_guid( ). "ins issue #157 - set column style
-* lv_value = me->excel->get_style_index_in_styles( lv_style_guid ). "del issue #237
+ lv_style_guid = lo_column->get_column_style_guid( ). "ins issue #157 - set column style
CLEAR ls_style_mapping.
READ TABLE styles_mapping INTO ls_style_mapping WITH KEY guid = lv_style_guid.
-* lv_style_index = ls_style_mapping-style. "del issue #295
-* IF lv_style_index > 0. "ins issue #237 - del issue #295
-* lv_value = lv_style_index - 1. "ins issue #237 - del issue #295
IF sy-subrc = 0. "ins issue #295
lv_value = ls_style_mapping-style. "ins issue #295
SHIFT lv_value RIGHT DELETING TRAILING space.
@@ -3514,7 +3485,7 @@ METHOD create_xl_sheet.
ENDIF. "ins issue #237
lo_element->append_child( new_child = lo_element_2 ). " col node
- ENDLOOP.
+ ENDWHILE.
* ELSE. "del issue #157 - set sheet style ( add missing columns
* IF io_worksheet->zif_excel_sheet_properties~get_style( ) IS NOT INITIAL. "del issue #157 - set sheet style ( add missing columns
* Begin of insertion issue #157 - set sheet style ( add missing columns
@@ -3530,10 +3501,12 @@ METHOD create_xl_sheet.
missing_column LIKE LINE OF t_missing_columns.
* First collect columns that were already handled before. The rest has to be inserted now
- LOOP AT column_dimensions ASSIGNING .
- lv_column = zcl_excel_common=>convert_column2int( -column ).
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
+ lv_column = zcl_excel_common=>convert_column2int( lo_column->get_column_index( ) ).
INSERT lv_column INTO TABLE lts_sorted_columns.
- ENDLOOP.
+ ENDWHILE.
* Now find all columns that were missing so far
missing_column-first_column = 1.
@@ -3597,312 +3570,10 @@ METHOD create_xl_sheet.
* Sheet content - use own method to create this
*--------------------------------------------------------------------*
lo_element = create_xl_sheet_sheet_data( io_worksheet = io_worksheet
- io_document = lo_document
- it_column_dimensions = column_dimensions ) .
-* " sheetData node
-* lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetdata
-* parent = lo_document ).
-* " Get column count
-* col_count = io_worksheet->get_highest_column( ).
-* " Get autofilter
-** lv_guid = io_worksheet->get_guid( ) .
+ io_document = lo_document ) .
+
lo_autofilters = excel->get_autofilters_reference( ).
lo_autofilter = lo_autofilters->get( io_worksheet = io_worksheet ) .
-* IF lo_autofilter IS BOUND.
-* lt_values = lo_autofilter->get_values( ) .
-* ls_area = lo_autofilter->get_filter_area( ) .
-* l_autofilter_hidden = abap_true. " First defautl is not showing
-* ENDIF.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 1 - start
-**--------------------------------------------------------------------*
-** Build table to hold all table-areas attached to this sheet
-* lo_iterator = io_worksheet->get_tables_iterator( ).
-* WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
-* lo_table ?= lo_iterator->if_object_collection_iterator~get_next( ).
-* ls_table_area-left = zcl_excel_common=>convert_column2int( lo_table->settings-top_left_column ).
-* ls_table_area-right = lo_table->get_right_column_integer( ).
-* ls_table_area-top = lo_table->settings-top_left_row.
-* ls_table_area-bottom = lo_table->get_bottom_row_integer( ).
-* INSERT ls_table_area INTO TABLE lt_table_areas.
-* ENDWHILE.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 1 - end
-**--------------------------------------------------------------------*
-** We have problems when the first rows or trailing rows are not set but we have rowinformation
-** to solve this we add dummycontent into first and last line that will not be set
-** Set first line if necessary
-* READ TABLE io_worksheet->sheet_content TRANSPORTING NO FIELDS WITH KEY cell_row = 1.
-* IF sy-subrc <> 0.
-* ls_sheet_content_empty-cell_row = 1.
-* ls_sheet_content_empty-cell_column = 1.
-* ls_sheet_content_empty-cell_value = lc_dummy_cell_content.
-* INSERT ls_sheet_content_empty INTO TABLE io_worksheet->sheet_content.
-* ENDIF.
-** Set last line if necessary
-** Last row with cell content
-* lv_last_row = io_worksheet->get_highest_row( ).
-** Last line with row-information set directly ( like line height, hidden-status ... )
-* lts_row_dimensions = io_worksheet->get_row_dimensions( ).
-* SORT lts_row_dimensions BY row DESCENDING.
-* READ TABLE lts_row_dimensions INDEX 1 ASSIGNING .
-* IF sy-subrc = 0 AND -row > lv_last_row.
-* lv_last_row = -row.
-* ENDIF.
-** Last line with row-information set indirectly by row outline
-* lts_row_outlines = io_worksheet->get_row_outlines( ).
-* LOOP AT lts_row_outlines ASSIGNING .
-* IF -collapsed = 'X'.
-* lv_current_row = -row_to + 1. " collapsed-status may be set on following row
-* ELSE.
-* lv_current_row = -row_to. " collapsed-status may be set on following row
-* ENDIF.
-* IF lv_current_row > lv_last_row.
-* lv_last_row = lv_current_row.
-* ENDIF.
-* ENDLOOP.
-* READ TABLE io_worksheet->sheet_content TRANSPORTING NO FIELDS WITH KEY cell_row = lv_last_row.
-* IF sy-subrc <> 0.
-* ls_sheet_content_empty-cell_row = lv_last_row.
-* ls_sheet_content_empty-cell_column = 1.
-* ls_sheet_content_empty-cell_value = lc_dummy_cell_content.
-* INSERT ls_sheet_content_empty INTO TABLE io_worksheet->sheet_content.
-* ENDIF.
-*
-* CLEAR ls_sheet_content.
-* LOOP AT io_worksheet->sheet_content INTO ls_sheet_content.
-* IF lt_values IS INITIAL. " no values attached to autofilter " issue #368 autofilter filtering too much
-* CLEAR l_autofilter_hidden.
-* ELSE.
-* READ TABLE lt_values INTO ls_values WITH KEY column = ls_last_row-cell_column.
-* IF sy-subrc = 0 AND ls_values-value = ls_last_row-cell_value.
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* ENDIF.
-* CLEAR ls_style_mapping.
-** Create row element
-** issues #346,#154, #195 - problems when we have information in row_dimension but no cell content in that row
-** Get next line that may have to be added. If we have empty lines this is the next line after previous cell content
-** Otherwise it is the line of the current cell content
-* lv_current_row = ls_last_row-cell_row + 1.
-* IF lv_current_row > ls_sheet_content-cell_row.
-* lv_current_row = ls_sheet_content-cell_row.
-* ENDIF.
-** Fill in empty lines if necessary - assign an emtpy sheet content
-* lv_next_row = lv_current_row.
-* WHILE lv_next_row <= ls_sheet_content-cell_row.
-* lv_current_row = lv_next_row.
-* lv_next_row = lv_current_row + 1.
-* IF lv_current_row = ls_sheet_content-cell_row. " cell value found in this row
-* ASSIGN ls_sheet_content TO .
-* ELSE.
-** Check if empty row is really necessary - this is basically the case when we have information in row_dimension
-* lo_row_dim_empty = io_worksheet->get_row_dimension( lv_current_row ).
-* CHECK lo_row_dim_empty->get_row_height( ) >= 0 OR
-* lo_row_dim_empty->get_collapsed( io_worksheet ) = abap_true OR
-* lo_row_dim_empty->get_outline_level( io_worksheet ) > 0 OR
-* lo_row_dim_empty->get_xf_index( ) <> 0.
-* " Dummyentry A1
-* ls_sheet_content_empty-cell_row = lv_current_row.
-* ls_sheet_content_empty-cell_column = 1.
-* ASSIGN ls_sheet_content_empty TO .
-* ENDIF.
-*
-* IF ls_last_row-cell_row NE -cell_row.
-* IF lo_autofilter IS BOUND.
-* IF ls_area-row_start >= ls_last_row-cell_row OR " One less for header
-* ls_area-row_end < ls_last_row-cell_row .
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* ELSE.
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* IF ls_last_row-cell_row IS NOT INITIAL.
-* " Row visibility of previos row.
-* IF row_dimension->get_visible( io_worksheet ) = abap_false OR
-* l_autofilter_hidden = abap_true.
-* lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
-* ENDIF.
-* lo_element->append_child( new_child = lo_element_2 ). " row node
-* ENDIF.
-* " Add new row
-* lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_row
-* parent = lo_document ).
-* " r
-* lv_value = -cell_row.
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-*
-* lo_element_2->set_attribute_ns( name = lc_xml_attr_r
-* value = lv_value ).
-* " Spans
-* lv_value = col_count.
-* CONCATENATE '1:' lv_value INTO lv_value.
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-* lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
-* value = lv_value ).
-* row_dimension = io_worksheet->get_row_dimension( -cell_row ).
-* " Do we need the row dimension attributes?
-* IF row_dimension->get_row_height( ) >= 0 OR
-* row_dimension->get_collapsed( io_worksheet ) = abap_true OR
-* row_dimension->get_outline_level( io_worksheet ) > 0 OR
-* row_dimension->get_xf_index( ) <> 0 OR
-* l_autofilter_hidden = abap_true.
-* " Row dimensions
-* IF row_dimension->get_row_height( ) >= 0.
-* lo_element_2->set_attribute_ns( name = 'customHeight' value = '1').
-* lv_value = row_dimension->get_row_height( ).
-* lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
-* ENDIF.
-* " Collapsed
-* IF row_dimension->get_collapsed( io_worksheet ) = abap_true.
-* lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
-* ENDIF.
-* " Outline level
-* IF row_dimension->get_outline_level( io_worksheet ) > 0.
-* lv_value = row_dimension->get_outline_level( io_worksheet ).
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-* lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
-* ENDIF.
-* " Style
-* IF row_dimension->get_xf_index( ) <> 0.
-* lv_value = row_dimension->get_xf_index( ).
-* lo_element_2->set_attribute_ns( name = 's' value = lv_value ).
-* lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
-* ENDIF.
-* ENDIF.
-* IF lt_values IS INITIAL. " no values attached to autofilter " issue #368 autofilter filtering too much
-* CLEAR l_autofilter_hidden.
-* ELSE.
-* l_autofilter_hidden = abap_true. " First default is not showing
-* ENDIF.
-* ELSE.
-*
-* ENDIF.
-* ENDWHILE.
-*
-* lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_c
-* parent = lo_document ).
-*
-* lo_element_3->set_attribute_ns( name = lc_xml_attr_r
-* value = -cell_coords ).
-*
-** begin of change issue #157 - allow column cellstyle
-** if no cellstyle is set, look into column, then into sheet
-* IF -cell_style IS NOT INITIAL.
-* lv_style_guid = -cell_style.
-* ELSE.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 2 - start
-**--------------------------------------------------------------------*
-** Check if cell in any of the table areas
-* LOOP AT lt_table_areas TRANSPORTING NO FIELDS WHERE top <= -cell_row
-* AND bottom >= -cell_row
-* AND left <= -cell_column
-* AND right >= -cell_column.
-* EXIT.
-* ENDLOOP.
-* IF sy-subrc = 0.
-* CLEAR lv_style_guid. " No style --> EXCEL will use built-in-styles as declared in the tables-section
-* ELSE.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 2 - end
-**--------------------------------------------------------------------*
-* lv_column_p = zcl_excel_common=>convert_column2alpha( -cell_column ).
-* READ TABLE column_dimensions WITH KEY column = lv_column_p ASSIGNING .
-* IF sy-subrc = 0.
-* lv_style_guid = -column_dimension->get_column_style_guid( ).
-* IF lv_style_guid IS INITIAL.
-* lv_style_guid = io_worksheet->zif_excel_sheet_properties~get_style( ).
-* ENDIF.
-* ELSE.
-* lv_style_guid = io_worksheet->zif_excel_sheet_properties~get_style( ).
-* ENDIF.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 3 - start
-**--------------------------------------------------------------------*
-* ENDIF.
-**--------------------------------------------------------------------*
-** issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 3 - end
-**--------------------------------------------------------------------*
-* ENDIF.
-** IF -cell_style IS NOT INITIAL.
-** READ TABLE styles_mapping INTO ls_style_mapping WITH KEY guid = -cell_style.
-* IF lv_style_guid IS NOT INITIAL.
-* READ TABLE styles_mapping INTO ls_style_mapping WITH KEY guid = lv_style_guid.
-** end of change issue #157 - allow column cellstyles
-* lv_value = ls_style_mapping-style.
-* SHIFT lv_value RIGHT DELETING TRAILING space.
-* SHIFT lv_value LEFT DELETING LEADING space.
-* lo_element_3->set_attribute_ns( name = lc_xml_attr_s
-* value = lv_value ).
-* ENDIF.
-*
-* " For cells with formula ignore the value - Excel will calculate it
-* IF -cell_formula IS NOT INITIAL.
-* " fomula node
-* lo_element_4 = lo_document->create_simple_element( name = lc_xml_node_f
-* parent = lo_document ).
-* lv_value = -cell_formula.
-* CONDENSE lv_value.
-* lo_element_4->set_value( value = lv_value ).
-* lo_element_3->append_child( new_child = lo_element_4 ). " fomula node
-* ELSEIF -cell_value IS NOT INITIAL "cell can have just style or formula
-* AND -cell_value <> lc_dummy_cell_content.
-* IF -data_type IS NOT INITIAL.
-* IF -data_type EQ 's_leading_blanks'.
-* lo_element_3->set_attribute_ns( name = lc_xml_attr_t
-* value = 's' ).
-* ELSE.
-* lo_element_3->set_attribute_ns( name = lc_xml_attr_t
-* value = -data_type ).
-* ENDIF.
-* ENDIF.
-*
-* " value node
-* lo_element_4 = lo_document->create_simple_element( name = lc_xml_node_v
-* parent = lo_document ).
-*
-* IF -data_type EQ 's' OR -data_type EQ 's_leading_blanks'.
-* lv_value = me->get_shared_string_index( -cell_value ).
-* CONDENSE lv_value.
-* lo_element_4->set_value( value = lv_value ).
-* ELSE.
-* lv_value = -cell_value.
-* CONDENSE lv_value.
-* lo_element_4->set_value( value = lv_value ).
-* ENDIF.
-*
-* lo_element_3->append_child( new_child = lo_element_4 ). " value node
-* ENDIF.
-*
-* lo_element_2->append_child( new_child = lo_element_3 ). " column node
-* ls_last_row = .
-* ENDLOOP.
-* IF sy-subrc = 0.
-* READ TABLE lt_values INTO ls_values WITH KEY column = ls_last_row-cell_column.
-* IF sy-subrc = 0 AND ls_values-value = ls_last_row-cell_value.
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* IF lo_autofilter IS BOUND.
-* IF ls_area-row_start >= ls_last_row-cell_row OR " One less for header
-* ls_area-row_end < ls_last_row-cell_row .
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* ELSE.
-* CLEAR l_autofilter_hidden.
-* ENDIF.
-* " Row visibility of previos row.
-* IF row_dimension->get_visible( ) = abap_false OR
-* l_autofilter_hidden = abap_true.
-* lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
-* ENDIF.
-* lo_element->append_child( new_child = lo_element_2 ). " row node
-* ENDIF.
-* DELETE io_worksheet->sheet_content WHERE cell_value = lc_dummy_cell_content. " Get rid of dummyentries
-
lo_element_root->append_child( new_child = lo_element ). " sheetData node
IF lo_autofilter IS BOUND.
@@ -4050,35 +3721,35 @@ METHOD create_xl_sheet.
ENDIF.
" Conditional formatting node
- lo_iterator = io_worksheet->get_cond_styles_iterator( ).
+ lo_iterator = io_worksheet->get_style_cond_iterator( ).
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
- lo_style_conditional ?= lo_iterator->if_object_collection_iterator~get_next( ).
- IF lo_style_conditional->rule IS INITIAL.
+ lo_style_cond ?= lo_iterator->if_object_collection_iterator~get_next( ).
+ IF lo_style_cond->rule IS INITIAL.
CONTINUE.
ENDIF.
lo_element = lo_document->create_simple_element( name = lc_xml_node_condformatting
parent = lo_document ).
- lv_value = lo_style_conditional->get_dimension_range( ) .
+ lv_value = lo_style_cond->get_dimension_range( ) .
lo_element->set_attribute_ns( name = lc_xml_attr_sqref
value = lv_value ).
" cfRule node
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_cfrule
parent = lo_document ).
- lv_value = lo_style_conditional->rule.
+ lv_value = lo_style_cond->rule.
lo_element_2->set_attribute_ns( name = lc_xml_attr_type
value = lv_value ).
- lv_value = lo_style_conditional->priority.
+ lv_value = lo_style_cond->priority.
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = lc_xml_attr_priority
value = lv_value ).
- CASE lo_style_conditional->rule.
+ CASE lo_style_cond->rule.
" Start >> Databar by Albert Lladanosa
- WHEN zcl_excel_style_conditional=>c_rule_databar.
+ WHEN zcl_excel_style_cond=>c_rule_databar.
- ls_databar = lo_style_conditional->mode_databar.
+ ls_databar = lo_style_cond->mode_databar.
CLEAR lt_cfvo.
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_databar
@@ -4116,9 +3787,9 @@ METHOD create_xl_sheet.
lo_element_2->append_child( new_child = lo_element_3 ). " databar node
" End << Databar by Albert Lladanosa
- WHEN zcl_excel_style_conditional=>c_rule_colorscale.
+ WHEN zcl_excel_style_cond=>c_rule_colorscale.
- ls_colorscale = lo_style_conditional->mode_colorscale.
+ ls_colorscale = lo_style_cond->mode_colorscale.
CLEAR: lt_cfvo, lt_colors.
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_colorscale
@@ -4174,15 +3845,15 @@ METHOD create_xl_sheet.
lo_element_2->append_child( new_child = lo_element_3 ). " databar node
- WHEN zcl_excel_style_conditional=>c_rule_iconset.
+ WHEN zcl_excel_style_cond=>c_rule_iconset.
- ls_iconset = lo_style_conditional->mode_iconset.
+ ls_iconset = lo_style_cond->mode_iconset.
CLEAR lt_cfvo.
" iconset node
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_iconset
parent = lo_document ).
- IF ls_iconset-iconset NE zcl_excel_style_conditional=>c_iconset_3trafficlights.
+ IF ls_iconset-iconset NE zcl_excel_style_cond=>c_iconset_3trafficlights.
lv_value = ls_iconset-iconset.
lo_element_3->set_attribute_ns( name = lc_xml_attr_iconset
value = lv_value ).
@@ -4194,15 +3865,15 @@ METHOD create_xl_sheet.
value = lv_value ).
CASE ls_iconset-iconset.
- WHEN zcl_excel_style_conditional=>c_iconset_3trafficlights2 OR
- zcl_excel_style_conditional=>c_iconset_3arrows OR
- zcl_excel_style_conditional=>c_iconset_3arrowsgray OR
- zcl_excel_style_conditional=>c_iconset_3flags OR
- zcl_excel_style_conditional=>c_iconset_3signs OR
- zcl_excel_style_conditional=>c_iconset_3symbols OR
- zcl_excel_style_conditional=>c_iconset_3symbols2 OR
- zcl_excel_style_conditional=>c_iconset_3trafficlights OR
- zcl_excel_style_conditional=>c_iconset_3trafficlights2.
+ WHEN zcl_excel_style_cond=>c_iconset_3trafficlights2 OR
+ zcl_excel_style_cond=>c_iconset_3arrows OR
+ zcl_excel_style_cond=>c_iconset_3arrowsgray OR
+ zcl_excel_style_cond=>c_iconset_3flags OR
+ zcl_excel_style_cond=>c_iconset_3signs OR
+ zcl_excel_style_cond=>c_iconset_3symbols OR
+ zcl_excel_style_cond=>c_iconset_3symbols2 OR
+ zcl_excel_style_cond=>c_iconset_3trafficlights OR
+ zcl_excel_style_cond=>c_iconset_3trafficlights2.
MOVE ls_iconset-cfvo1_value TO ls_cfvo-value.
MOVE ls_iconset-cfvo1_type TO ls_cfvo-type.
APPEND ls_cfvo TO lt_cfvo.
@@ -4212,11 +3883,11 @@ METHOD create_xl_sheet.
MOVE ls_iconset-cfvo3_value TO ls_cfvo-value.
MOVE ls_iconset-cfvo3_type TO ls_cfvo-type.
APPEND ls_cfvo TO lt_cfvo.
- WHEN zcl_excel_style_conditional=>c_iconset_4arrows OR
- zcl_excel_style_conditional=>c_iconset_4arrowsgray OR
- zcl_excel_style_conditional=>c_iconset_4rating OR
- zcl_excel_style_conditional=>c_iconset_4redtoblack OR
- zcl_excel_style_conditional=>c_iconset_4trafficlights.
+ WHEN zcl_excel_style_cond=>c_iconset_4arrows OR
+ zcl_excel_style_cond=>c_iconset_4arrowsgray OR
+ zcl_excel_style_cond=>c_iconset_4rating OR
+ zcl_excel_style_cond=>c_iconset_4redtoblack OR
+ zcl_excel_style_cond=>c_iconset_4trafficlights.
MOVE ls_iconset-cfvo1_value TO ls_cfvo-value.
MOVE ls_iconset-cfvo1_type TO ls_cfvo-type.
APPEND ls_cfvo TO lt_cfvo.
@@ -4229,10 +3900,10 @@ METHOD create_xl_sheet.
MOVE ls_iconset-cfvo4_value TO ls_cfvo-value.
MOVE ls_iconset-cfvo4_type TO ls_cfvo-type.
APPEND ls_cfvo TO lt_cfvo.
- WHEN zcl_excel_style_conditional=>c_iconset_5arrows OR
- zcl_excel_style_conditional=>c_iconset_5arrowsgray OR
- zcl_excel_style_conditional=>c_iconset_5quarters OR
- zcl_excel_style_conditional=>c_iconset_5rating.
+ WHEN zcl_excel_style_cond=>c_iconset_5arrows OR
+ zcl_excel_style_cond=>c_iconset_5arrowsgray OR
+ zcl_excel_style_cond=>c_iconset_5quarters OR
+ zcl_excel_style_cond=>c_iconset_5rating.
MOVE ls_iconset-cfvo1_value TO ls_cfvo-value.
MOVE ls_iconset-cfvo1_type TO ls_cfvo-type.
APPEND ls_cfvo TO lt_cfvo.
@@ -4268,8 +3939,8 @@ METHOD create_xl_sheet.
lo_element_2->append_child( new_child = lo_element_3 ). " iconset node
- WHEN zcl_excel_style_conditional=>c_rule_cellis.
- ls_cellis = lo_style_conditional->mode_cellis.
+ WHEN zcl_excel_style_cond=>c_rule_cellis.
+ ls_cellis = lo_style_cond->mode_cellis.
READ TABLE me->styles_cond_mapping INTO ls_style_cond_mapping WITH KEY guid = ls_cellis-cell_style.
lv_value = ls_style_cond_mapping-dxf.
CONDENSE lv_value.
@@ -4292,8 +3963,8 @@ METHOD create_xl_sheet.
lo_element_2->append_child( new_child = lo_element_3 ). " 2nd formula node
ENDIF.
- WHEN zcl_excel_style_conditional=>c_rule_expression.
- ls_expression = lo_style_conditional->mode_expression.
+ WHEN zcl_excel_style_cond=>c_rule_expression.
+ ls_expression = lo_style_cond->mode_expression.
READ TABLE me->styles_cond_mapping INTO ls_style_cond_mapping WITH KEY guid = ls_expression-cell_style.
lv_value = ls_style_cond_mapping-dxf.
CONDENSE lv_value.
@@ -4307,8 +3978,8 @@ METHOD create_xl_sheet.
lo_element_2->append_child( new_child = lo_element_3 ). " formula node
* begin of ins issue #366 - missing conditional rules: top10
- WHEN zcl_excel_style_conditional=>c_rule_top10.
- ls_conditional_top10 = lo_style_conditional->mode_top10.
+ WHEN zcl_excel_style_cond=>c_rule_top10.
+ ls_conditional_top10 = lo_style_cond->mode_top10.
READ TABLE me->styles_cond_mapping INTO ls_style_cond_mapping WITH KEY guid = ls_conditional_top10-cell_style.
lv_value = ls_style_cond_mapping-dxf.
CONDENSE lv_value.
@@ -4327,8 +3998,8 @@ METHOD create_xl_sheet.
value ='1' ).
ENDIF.
- WHEN zcl_excel_style_conditional=>c_rule_above_average.
- ls_conditional_above_avg = lo_style_conditional->mode_above_average.
+ WHEN zcl_excel_style_cond=>c_rule_above_average.
+ ls_conditional_above_avg = lo_style_cond->mode_above_average.
READ TABLE me->styles_cond_mapping INTO ls_style_cond_mapping WITH KEY guid = ls_conditional_above_avg-cell_style.
lv_value = ls_style_cond_mapping-dxf.
CONDENSE lv_value.
@@ -4788,8 +4459,6 @@ METHOD create_xl_sheet.
ENDIF.
-
-
**********************************************************************
* STEP 5: Create xstring stream
lo_streamfactory = lo_ixml->create_stream_factory( ).
@@ -4797,9 +4466,6 @@ METHOD create_xl_sheet.
lo_renderer = lo_ixml->create_renderer( ostream = lo_ostream document = lo_document ).
lo_renderer->render( ).
-
-* REPLACE FIRST OCCURRENCE OF me->mv_sheet_data_xstring_dummy IN ep_content WITH me->mv_sheet_data_xstring IN BYTE MODE.
-
ENDMETHOD.
@@ -5085,6 +4751,7 @@ METHOD create_xl_sheet_sheet_data.
lo_table TYPE REF TO zcl_excel_table,
lt_table_areas TYPE SORTED TABLE OF lty_table_area WITH NON-UNIQUE KEY left right top bottom,
ls_table_area LIKE LINE OF lt_table_areas,
+ lo_column TYPE REF TO zcl_excel_column,
ls_sheet_content LIKE LINE OF io_worksheet->sheet_content,
ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content,
@@ -5092,9 +4759,10 @@ METHOD create_xl_sheet_sheet_data.
lv_next_row TYPE i,
lv_last_row TYPE i,
- lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
- lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
+* lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
+ lo_row_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_row TYPE REF TO zcl_excel_row,
+ lo_row_empty TYPE REF TO zcl_excel_row,
lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
ls_last_row TYPE zexcel_s_cell_data,
@@ -5105,12 +4773,9 @@ METHOD create_xl_sheet_sheet_data.
lo_element_4 TYPE REF TO if_ixml_element,
lv_value TYPE string,
- lv_style_guid TYPE zexcel_cell_style,
- lv_column_p TYPE zexcel_cell_column_alpha.
+ lv_style_guid TYPE zexcel_cell_style.
FIELD-SYMBOLS: TYPE zexcel_s_cell_data,
- TYPE zexcel_s_worksheet_columndime,
- TYPE zexcel_s_worksheet_rowdimensio,
LIKE LINE OF lts_row_outlines.
@@ -5160,12 +4825,15 @@ METHOD create_xl_sheet_sheet_data.
*Last row with cell content
lv_last_row = io_worksheet->get_highest_row( ).
*Last line with row-information set directly ( like line height, hidden-status ... )
- lts_row_dimensions = io_worksheet->get_row_dimensions( ).
- SORT lts_row_dimensions BY row DESCENDING.
- READ TABLE lts_row_dimensions INDEX 1 ASSIGNING .
- IF sy-subrc = 0 AND -row > lv_last_row.
- lv_last_row = -row.
- ENDIF.
+
+ lo_row_iterator = io_worksheet->get_rows_iterator( ).
+ WHILE lo_row_iterator->has_next( ) = abap_true.
+ lo_row ?= lo_row_iterator->get_next( ).
+ IF lo_row->get_row_index( ) > lv_last_row.
+ lv_last_row = lo_row->get_row_index( ).
+ ENDIF.
+ ENDWHILE.
+
*Last line with row-information set indirectly by row outline
lts_row_outlines = io_worksheet->get_row_outlines( ).
LOOP AT lts_row_outlines ASSIGNING .
@@ -5214,11 +4882,11 @@ METHOD create_xl_sheet_sheet_data.
ASSIGN ls_sheet_content TO .
ELSE.
*Check if empty row is really necessary - this is basically the case when we have information in row_dimension
- lo_row_dim_empty = io_worksheet->get_row_dimension( lv_current_row ).
- CHECK lo_row_dim_empty->get_row_height( ) >= 0 OR
- lo_row_dim_empty->get_collapsed( io_worksheet ) = abap_true OR
- lo_row_dim_empty->get_outline_level( io_worksheet ) > 0 OR
- lo_row_dim_empty->get_xf_index( ) <> 0.
+ lo_row_empty = io_worksheet->get_row( lv_current_row ).
+ CHECK lo_row_empty->get_row_height( ) >= 0 OR
+ lo_row_empty->get_collapsed( io_worksheet ) = abap_true OR
+ lo_row_empty->get_outline_level( io_worksheet ) > 0 OR
+ lo_row_empty->get_xf_index( ) <> 0.
" Dummyentry A1
ls_sheet_content_empty-cell_row = lv_current_row.
ls_sheet_content_empty-cell_column = 1.
@@ -5236,7 +4904,7 @@ METHOD create_xl_sheet_sheet_data.
ENDIF.
IF ls_last_row-cell_row IS NOT INITIAL.
" Row visibility of previos row.
- IF row_dimension->get_visible( io_worksheet ) = abap_false OR
+ IF lo_row->get_visible( io_worksheet ) = abap_false OR
l_autofilter_hidden = abap_true.
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
ENDIF.
@@ -5262,33 +4930,33 @@ METHOD create_xl_sheet_sheet_data.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
value = lv_value ).
- row_dimension = io_worksheet->get_row_dimension( -cell_row ).
+ lo_row = io_worksheet->get_row( -cell_row ).
" Do we need the row dimension attributes?
- IF row_dimension->get_row_height( ) >= 0 OR
- row_dimension->get_collapsed( io_worksheet ) = abap_true OR
- row_dimension->get_outline_level( io_worksheet ) > 0 OR
- row_dimension->get_xf_index( ) <> 0 OR
+ IF lo_row->get_row_height( ) >= 0 OR
+ lo_row->get_collapsed( io_worksheet ) = abap_true OR
+ lo_row->get_outline_level( io_worksheet ) > 0 OR
+ lo_row->get_xf_index( ) <> 0 OR
l_autofilter_hidden = abap_true.
" Row dimensions
- IF row_dimension->get_row_height( ) >= 0.
+ IF lo_row->get_row_height( ) >= 0.
lo_element_2->set_attribute_ns( name = 'customHeight' value = '1').
- lv_value = row_dimension->get_row_height( ).
+ lv_value = lo_row->get_row_height( ).
lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
ENDIF.
" Collapsed
- IF row_dimension->get_collapsed( io_worksheet ) = abap_true.
+ IF lo_row->get_collapsed( io_worksheet ) = abap_true.
lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
ENDIF.
" Outline level
- IF row_dimension->get_outline_level( io_worksheet ) > 0.
- lv_value = row_dimension->get_outline_level( io_worksheet ).
+ IF lo_row->get_outline_level( io_worksheet ) > 0.
+ lv_value = lo_row->get_outline_level( io_worksheet ).
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
ENDIF.
" Style
- IF row_dimension->get_xf_index( ) <> 0.
- lv_value = row_dimension->get_xf_index( ).
+ IF lo_row->get_xf_index( ) <> 0.
+ lv_value = lo_row->get_xf_index( ).
lo_element_2->set_attribute_ns( name = 's' value = lv_value ).
lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
ENDIF.
@@ -5330,16 +4998,15 @@ METHOD create_xl_sheet_sheet_data.
*--------------------------------------------------------------------*
*issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 2 - end
*--------------------------------------------------------------------*
- lv_column_p = zcl_excel_common=>convert_column2alpha( -cell_column ).
- READ TABLE it_column_dimensions WITH KEY column = lv_column_p ASSIGNING .
- IF sy-subrc = 0.
- lv_style_guid = -column_dimension->get_column_style_guid( ).
+ lv_style_guid = io_worksheet->zif_excel_sheet_properties~get_style( ).
+ lo_column ?= io_worksheet->get_column( -cell_column ).
+ IF lo_column->get_column_index( ) = -cell_column.
+ lv_style_guid = lo_column->get_column_style_guid( ).
IF lv_style_guid IS INITIAL.
lv_style_guid = io_worksheet->zif_excel_sheet_properties~get_style( ).
ENDIF.
- ELSE.
- lv_style_guid = io_worksheet->zif_excel_sheet_properties~get_style( ).
ENDIF.
+
*--------------------------------------------------------------------*
*issue #220 - If cell in tables-area don't use default from row or column or sheet - Coding 3 - start
*--------------------------------------------------------------------*
@@ -5415,7 +5082,7 @@ METHOD create_xl_sheet_sheet_data.
CLEAR l_autofilter_hidden.
ENDIF.
" Row visibility of previos row.
- IF row_dimension->get_visible( ) = abap_false OR
+ IF lo_row->get_visible( ) = abap_false OR
l_autofilter_hidden = abap_true.
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
ENDIF.
@@ -5574,7 +5241,7 @@ METHOD create_xl_styles.
lo_iterator TYPE REF TO cl_object_collection_iterator,
lo_iterator2 TYPE REF TO cl_object_collection_iterator,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
+ lo_style_cond TYPE REF TO zcl_excel_style_cond,
lo_style TYPE REF TO zcl_excel_style.
@@ -6342,14 +6009,14 @@ METHOD create_xl_styles.
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
" Conditional formatting styles into exch sheet
- lo_iterator2 = lo_worksheet->get_cond_styles_iterator( ).
+ lo_iterator2 = lo_worksheet->get_style_cond_iterator( ).
WHILE lo_iterator2->if_object_collection_iterator~has_next( ) EQ abap_true.
- lo_style_conditional ?= lo_iterator2->if_object_collection_iterator~get_next( ).
- CASE lo_style_conditional->rule.
+ lo_style_cond ?= lo_iterator2->if_object_collection_iterator~get_next( ).
+ CASE lo_style_cond->rule.
* begin of change issue #366 - missing conditional rules: top10, move dfx-styles to own method
- WHEN zcl_excel_style_conditional=>c_rule_cellis.
+ WHEN zcl_excel_style_cond=>c_rule_cellis.
me->create_dxf_style( EXPORTING
- iv_cell_style = lo_style_conditional->mode_cellis-cell_style
+ iv_cell_style = lo_style_cond->mode_cellis-cell_style
io_dxf_element = lo_element
io_ixml_document = lo_document
it_cellxfs = lt_cellxfs
@@ -6358,9 +6025,9 @@ METHOD create_xl_styles.
CHANGING
cv_dfx_count = lv_dfx_count ).
- WHEN zcl_excel_style_conditional=>c_rule_expression.
+ WHEN zcl_excel_style_cond=>c_rule_expression.
me->create_dxf_style( EXPORTING
- iv_cell_style = lo_style_conditional->mode_expression-cell_style
+ iv_cell_style = lo_style_cond->mode_expression-cell_style
io_dxf_element = lo_element
io_ixml_document = lo_document
it_cellxfs = lt_cellxfs
@@ -6371,9 +6038,9 @@ METHOD create_xl_styles.
- WHEN zcl_excel_style_conditional=>c_rule_top10.
+ WHEN zcl_excel_style_cond=>c_rule_top10.
me->create_dxf_style( EXPORTING
- iv_cell_style = lo_style_conditional->mode_top10-cell_style
+ iv_cell_style = lo_style_cond->mode_top10-cell_style
io_dxf_element = lo_element
io_ixml_document = lo_document
it_cellxfs = lt_cellxfs
@@ -6382,9 +6049,9 @@ METHOD create_xl_styles.
CHANGING
cv_dfx_count = lv_dfx_count ).
- WHEN zcl_excel_style_conditional=>c_rule_above_average.
+ WHEN zcl_excel_style_cond=>c_rule_above_average.
me->create_dxf_style( EXPORTING
- iv_cell_style = lo_style_conditional->mode_above_average-cell_style
+ iv_cell_style = lo_style_cond->mode_above_average-cell_style
io_dxf_element = lo_element
io_ixml_document = lo_document
it_cellxfs = lt_cellxfs
diff --git a/src/zcl_excel_writer_huge_file.clas.abap b/src/zcl_excel_writer_huge_file.clas.abap
index e1abf4b..e8d8b2c 100644
--- a/src/zcl_excel_writer_huge_file.clas.abap
+++ b/src/zcl_excel_writer_huge_file.clas.abap
@@ -281,9 +281,8 @@ METHOD create_xl_sheet.
DATA:
lo_iterator TYPE REF TO cl_object_collection_iterator,
lo_table TYPE REF TO zcl_excel_table,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
- default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
+ lo_column_default TYPE REF TO zcl_excel_column,
+ lo_row_default TYPE REF TO zcl_excel_row,
lv_value TYPE string,
lv_index TYPE i,
lv_spans TYPE string,
@@ -294,8 +293,10 @@ METHOD create_xl_sheet.
lv_freeze_cell_row TYPE zexcel_cell_row,
lv_freeze_cell_column TYPE zexcel_cell_column,
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
- column_dimensions TYPE zexcel_t_worksheet_columndime,
- row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
+ lo_column_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row_iterator TYPE REF TO cl_object_collection_iterator,
+ lo_row TYPE REF TO zcl_excel_row,
lv_relation_id TYPE i VALUE 0,
outline_level_row TYPE i VALUE 0,
outline_level_col TYPE i VALUE 0,
@@ -314,8 +315,6 @@ METHOD create_xl_sheet.
FIELD-SYMBOLS:
TYPE zexcel_s_cell_data,
LIKE LINE OF lt_range_merge,
- TYPE zexcel_s_worksheet_columndime,
- TYPE zexcel_s_worksheet_rowdimensio,
TYPE lty_column,
TYPE lty_row,
TYPE lty_hyperlink,
@@ -427,19 +426,24 @@ METHOD create_xl_sheet.
*
* Row and column info
*
- column_dimensions[] = io_worksheet->get_column_dimensions( ).
- row_dimensions[] = io_worksheet->get_row_dimensions( ).
-
- IF NOT column_dimensions IS INITIAL.
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
+ IF NOT lo_column_iterator IS BOUND.
io_worksheet->calculate_column_widths( ).
- column_dimensions[] = io_worksheet->get_column_dimensions( ).
+ lo_column_iterator = io_worksheet->get_columns_iterator( ).
ENDIF.
- default_row_dimension = io_worksheet->get_default_row_dimension( ).
- IF default_row_dimension IS BOUND.
- IF default_row_dimension->get_row_height( ) >= 0.
+ lo_column_default = io_worksheet->get_default_column( ).
+ IF lo_column_default IS BOUND.
+ IF lo_column_default->get_width( ) >= 0.
+ l_worksheet-defaultcolwidth = lo_column_default->get_width( ).
+ ENDIF.
+ ENDIF.
+
+ lo_row_default = io_worksheet->get_default_row( ).
+ IF lo_row_default IS BOUND.
+ IF lo_row_default->get_row_height( ) >= 0.
l_worksheet-customheight = lc_true.
- lv_value = default_row_dimension->get_row_height( ).
+ lv_value = lo_row_default->get_row_height( ).
ELSE.
lv_value = '12.75'.
ENDIF.
@@ -449,67 +453,57 @@ METHOD create_xl_sheet.
CONDENSE lv_value.
l_worksheet-defaultrowheight = lv_value.
- default_col_dimension = io_worksheet->get_default_column_dimension( ).
- IF default_col_dimension IS BOUND.
- IF default_col_dimension->get_width( ) >= 0.
- l_worksheet-defaultcolwidth = default_col_dimension->get_width( ).
+ lo_row_iterator = io_worksheet->get_rows_iterator( ).
+ WHILE lo_row_iterator->has_next( ) = abap_true.
+ lo_row ?= lo_row_iterator->get_next( ).
+ IF lo_row->get_outline_level( ) > outline_level_row.
+ l_worksheet-outlinelevelrow = lo_row->get_outline_level( ).
ENDIF.
- ENDIF.
+ ENDWHILE.
- LOOP AT row_dimensions ASSIGNING .
- IF -row_dimension->get_outline_level( ) > outline_level_row.
- l_worksheet-outlinelevelrow = -row_dimension->get_outline_level( ).
- ENDIF.
- ENDLOOP.
-
- LOOP AT column_dimensions ASSIGNING .
- IF -column_dimension->get_outline_level( ) > outline_level_col.
- l_worksheet-outlinelevelcol = -column_dimension->get_outline_level( ).
- ENDIF.
- ENDLOOP.
-
-*
* Set column information (width, style, ...)
-*
- LOOP AT column_dimensions ASSIGNING .
- APPEND INITIAL LINE TO l_worksheet-cols ASSIGNING .
- -min = -max = -column_dimension->get_column_index( ).
- -width = -column_dimension->get_width( ).
- IF -width < 0.
- -width = lc_default_col_width.
- ENDIF.
- IF -column_dimension->get_visible( ) = abap_false.
- -hidden = lc_true.
- ENDIF.
- IF -column_dimension->get_auto_size( ) = abap_true.
- -bestfit = lc_true.
- ENDIF.
- IF default_col_dimension IS BOUND.
- IF -column_dimension->get_width( )
- <> default_col_dimension->get_width( ).
+* IF lo_column_iterator->has_next( ) = abap_true.
+ WHILE lo_column_iterator->has_next( ) = abap_true.
+ lo_column ?= lo_column_iterator->get_next( ).
+ IF lo_column->get_outline_level( ) > outline_level_col.
+ l_worksheet-outlinelevelcol = lo_column->get_outline_level( ).
+ ENDIF.
+ APPEND INITIAL LINE TO l_worksheet-cols ASSIGNING .
+ -min = -max = lo_column->get_column_index( ).
+ -width = lo_column->get_width( ).
+ IF -width < 0.
+ -width = lc_default_col_width.
+ ENDIF.
+ IF lo_column->get_visible( ) = abap_false.
+ -hidden = lc_true.
+ ENDIF.
+ IF lo_column->get_auto_size( ) = abap_true.
+ -bestfit = lc_true.
+ ENDIF.
+ IF lo_column_default IS BOUND.
+ IF lo_column->get_width( ) <> lo_column_default->get_width( ).
+ -customwidth = lc_true.
+ ENDIF.
+ ELSE.
-customwidth = lc_true.
ENDIF.
- ELSE.
- -customwidth = lc_true.
- ENDIF.
- IF -column_dimension->get_collapsed( ) = abap_true.
- -collapsed = lc_true.
- ENDIF.
- -outlinelevel = -column_dimension->get_outline_level( ).
- lv_style_guid = -column_dimension->get_column_style_guid( ).
- -style = me->excel->get_style_index_in_styles( lv_style_guid ) - 1.
- ENDLOOP.
-
+ IF lo_column->get_collapsed( ) = abap_true.
+ -collapsed = lc_true.
+ ENDIF.
+ -outlinelevel = lo_column->get_outline_level( ).
+ lv_style_guid = lo_column->get_column_style_guid( ).
+ -style = me->excel->get_style_index_in_styles( lv_style_guid ) - 1.
*
* Missing columns
*
* First collect columns that were already handled before.
* The rest has to be inserted now.
*
- LOOP AT column_dimensions ASSIGNING .
- lv_column = zcl_excel_common=>convert_column2int( -column ).
- INSERT lv_column INTO TABLE lts_sorted_columns.
- ENDLOOP.
+
+ lv_column = zcl_excel_common=>convert_column2int( lo_column->get_column_index( ) ).
+ INSERT lv_column INTO TABLE lts_sorted_columns.
+ ENDWHILE.
+* ENDIF.
*
* Now find all columns that were missing so far
@@ -534,8 +528,8 @@ METHOD create_xl_sheet.
APPEND INITIAL LINE TO l_worksheet-cols ASSIGNING .
-min = missing_column-first_column.
-max = missing_column-last_column.
- IF default_col_dimension IS BOUND AND default_col_dimension->get_width( ) >= 0.
- -width = default_col_dimension->get_width( ).
+ IF lo_column_default IS BOUND AND lo_column_default->get_width( ) >= 0.
+ -width = lo_column_default->get_width( ).
ELSE.
-width = lc_default_col_width.
ENDIF.
@@ -582,32 +576,32 @@ METHOD create_xl_sheet.
*
* Row dimension attributes
*
- row_dimension = io_worksheet->get_row_dimension( -cell_row ).
- IF row_dimension->get_visible( ) = abap_false.
+ lo_row = io_worksheet->get_row( -cell_row ).
+ IF lo_row->get_visible( ) = abap_false.
-hidden = lc_true.
ENDIF.
- IF row_dimension->get_row_height( ) >= 0.
+ IF lo_row->get_row_height( ) >= 0.
-customheight = lc_one.
- -height = row_dimension->get_row_height( ).
+ -height = lo_row->get_row_height( ).
ENDIF.
*
* Collapsed
*
- IF row_dimension->get_collapsed( ) = abap_true.
+ IF lo_row->get_collapsed( ) = abap_true.
-collapsed = lc_true.
ENDIF.
*
* Outline level
*
- -outlinelevel = row_dimension->get_outline_level( ).
+ -outlinelevel = lo_row->get_outline_level( ).
*
* Style
*
- -style = row_dimension->get_xf_index( ).
+ -style = lo_row->get_xf_index( ).
IF -style <> 0.
-customformat = lc_one.
ENDIF.
diff --git a/src/zdemo_calendar.prog.abap b/src/zdemo_calendar.prog.abap
index c188a3b..25b92e9 100644
--- a/src/zdemo_calendar.prog.abap
+++ b/src/zdemo_calendar.prog.abap
@@ -48,9 +48,9 @@ START-OF-SELECTION.
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_col_dim TYPE REF TO zcl_excel_worksheet_columndime,
- lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
- hyperlink TYPE REF TO zcl_excel_hyperlink,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row TYPE REF TO zcl_excel_row,
+ lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
lo_drawing TYPE REF TO zcl_excel_drawing.
DATA: lo_style_month TYPE REF TO zcl_excel_style,
@@ -215,10 +215,10 @@ START-OF-SELECTION.
lo_worksheet->sheet_setup->paper_size = zcl_excel_sheet_setup=>c_papersize_a4.
lo_worksheet->sheet_setup->horizontal_centered = abap_true.
lo_worksheet->sheet_setup->vertical_centered = abap_true.
- lo_col_dim = lo_worksheet->get_column_dimension( 'A' ).
- lo_col_dim->set_width( '1.0' ).
- lo_col_dim = lo_worksheet->get_column_dimension( 'B' ).
- lo_col_dim->set_width( '2.0' ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_width( '1.0' ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_width( '2.0' ).
IF p_lands = abap_true.
lo_worksheet->sheet_setup->orientation = zcl_excel_sheet_setup=>c_orientation_landscape.
lv_height = c_height_landscape.
@@ -228,8 +228,8 @@ START-OF-SELECTION.
lo_worksheet->sheet_setup->margin_right = '0.10'.
lo_worksheet->sheet_setup->margin_bottom = '0.10'.
ELSE.
- lo_col_dim = lo_worksheet->get_column_dimension( 'K' ).
- lo_col_dim->set_width( '3.0' ).
+ lo_column = lo_worksheet->get_column( 'K' ).
+ lo_column->set_width( '3.0' ).
lo_worksheet->sheet_setup->margin_top = '0.80'.
lo_worksheet->sheet_setup->margin_left = '0.55'.
lo_worksheet->sheet_setup->margin_right = '0.05'.
@@ -291,13 +291,13 @@ START-OF-SELECTION.
row = lv_from_row - 2.
ENDIF.
IF NOT -url IS INITIAL.
- hyperlink = zcl_excel_hyperlink=>create_external_link( -url ).
+ lo_hyperlink = zcl_excel_hyperlink=>create_external_link( -url ).
lo_worksheet->set_cell(
EXPORTING
ip_column = from_col " Cell Column
ip_row = row " Cell Row
ip_value = value " Cell Value
- ip_hyperlink = hyperlink
+ ip_hyperlink = lo_hyperlink
).
ELSE.
lo_worksheet->set_cell(
@@ -307,8 +307,8 @@ START-OF-SELECTION.
ip_value = value " Cell Value
).
ENDIF.
- lo_row_dim = lo_worksheet->get_row_dimension( row ).
- lo_row_dim->set_row_height( '22.0' ).
+ lo_row = lo_worksheet->get_row( row ).
+ lo_row->set_row_height( '22.0' ).
" In Landscape mode the row between the description and the
" dates should be not so high
@@ -320,11 +320,11 @@ START-OF-SELECTION.
ip_row = row " Cell Row
ip_value = ' ' " Cell Value
).
- lo_row_dim = lo_worksheet->get_row_dimension( row ).
- lo_row_dim->set_row_height( '7.0' ).
+ lo_row = lo_worksheet->get_row( row ).
+ lo_row->set_row_height( '7.0' ).
row = lv_from_row - 1.
- lo_row_dim = lo_worksheet->get_row_dimension( row ).
- lo_row_dim->set_row_height( '5.0' ).
+ lo_row = lo_worksheet->get_row( row ).
+ lo_row->set_row_height( '5.0' ).
ENDIF.
CONCATENATE p_path lv_file_separator -filename INTO image_path.
diff --git a/src/zdemo_calendar_classes.prog.abap b/src/zdemo_calendar_classes.prog.abap
index fedf291..322c493 100644
--- a/src/zdemo_calendar_classes.prog.abap
+++ b/src/zdemo_calendar_classes.prog.abap
@@ -209,15 +209,15 @@ CLASS zcl_helper IMPLEMENTATION.
ENDIF.
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,
- lr_col_dim TYPE REF TO zcl_excel_worksheet_columndime,
- lr_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
+ 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,
@@ -325,16 +325,16 @@ CLASS zcl_helper IMPLEMENTATION.
ELSE.
width = '11.4'.
ENDIF.
- lr_col_dim = c_worksheet->get_column_dimension( col ).
- lr_col_dim->set_width( width ).
+ lo_column = c_worksheet->get_column( col ).
+ lo_column->set_width( width ).
col_int = col_int + 1.
ENDWHILE.
row = i_from_row + 1.
row_max = i_from_row + 6.
WHILE row <= row_max.
height = 50.
- lr_row_dim = c_worksheet->get_row_dimension( row ).
- lr_row_dim->set_row_height( height ).
+ lo_row = c_worksheet->get_row( row ).
+ lo_row->set_row_height( height ).
row = row + 1.
ENDWHILE.
ENDMETHOD. "add_calendar
@@ -342,8 +342,8 @@ CLASS zcl_helper IMPLEMENTATION.
DATA: value TYPE string,
hyperlink TYPE REF TO zcl_excel_hyperlink.
- value = 'Created with abap2xlsx. Find more information at http://abap2xlsx.org.'(002).
- hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://abap2xlsx.org' ). "#EC NOTEXT
+ value = 'Created with abap2xlsx. Find more information at http://www.plinky.it/abap/abap2xlsx.php.'(002).
+ hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://www.plinky.it/abap/abap2xlsx.php' ). "#EC NOTEXT
c_worksheet->set_cell(
EXPORTING
ip_column = i_from_col " Cell Column
@@ -360,12 +360,12 @@ CLASS zcl_helper IMPLEMENTATION.
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_col_dim TYPE REF TO zcl_excel_worksheet_columndime,
- lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
+ 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: LIKE LINE OF day_names.
@@ -410,8 +410,8 @@ CLASS zcl_helper IMPLEMENTATION.
ip_style = i_day_style " Single-Character Indicator
).
" width
- lo_col_dim = c_worksheet->get_column_dimension( col ).
- lo_col_dim->set_width( '3.6' ).
+ lo_column = c_worksheet->get_column( col ).
+ lo_column->set_width( '3.6' ).
lv_date = lv_date + 1.
@@ -424,8 +424,8 @@ CLASS zcl_helper IMPLEMENTATION.
ip_row = row " Cell Row
ip_value = ' ' " Cell Value
).
- lo_row_dim = c_worksheet->get_row_dimension( row ).
- lo_row_dim->set_row_height( '5.0' ).
+ lo_row = c_worksheet->get_row( row ).
+ lo_row->set_row_height( '5.0' ).
row = i_from_row + 3.
zcl_helper=>add_a2x_footer(
EXPORTING
@@ -441,8 +441,8 @@ CLASS zcl_helper IMPLEMENTATION.
col_int = from_col_int + day + 2.
col = zcl_excel_common=>convert_column2alpha( col_int ).
" width
- lo_col_dim = c_worksheet->get_column_dimension( col ).
- lo_col_dim->set_width( '3.6' ).
+ lo_column = c_worksheet->get_column( col ).
+ lo_column->set_width( '3.6' ).
ENDWHILE.
ENDMETHOD. "ADD_CALENDAR_LANDSCAPE
diff --git a/src/zdemo_excel.prog.abap b/src/zdemo_excel.prog.abap
index dd9c248..e327a33 100644
--- a/src/zdemo_excel.prog.abap
+++ b/src/zdemo_excel.prog.abap
@@ -81,4 +81,4 @@ START-OF-SELECTION.
" Reader/Writer Demo must always run at the end
" to make sure all documents where created
"
- SUBMIT zdemo_excel15 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. "#EC CI_SUBMIT Read Excel and write it back
+ SUBMIT zdemo_excel15 WITH p_path = p_path AND RETURN. "#EC CI_SUBMIT Read Excel and write it back
diff --git a/src/zdemo_excel1.prog.abap b/src/zdemo_excel1.prog.abap
index 7f393a7..ff94444 100644
--- a/src/zdemo_excel1.prog.abap
+++ b/src/zdemo_excel1.prog.abap
@@ -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,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+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.
@@ -28,11 +28,11 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
- lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.abap2xlsx.org' ).
+ lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.plinky.it/abap/abap2xlsx.php' ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- column_dimension->set_width( ip_width = 11 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'B' ).
+ lo_column->set_width( ip_width = 11 ).
diff --git a/src/zdemo_excel10.prog.abap b/src/zdemo_excel10.prog.abap
index 2aaff40..b09199b 100644
--- a/src/zdemo_excel10.prog.abap
+++ b/src/zdemo_excel10.prog.abap
@@ -10,8 +10,8 @@ REPORT zdemo_excel10.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- lo_style_conditional2 TYPE REF TO zcl_excel_style_conditional,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ 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,
@@ -32,24 +32,24 @@ START-OF-SELECTION.
lo_worksheet = lo_excel->get_active_worksheet( ).
lo_worksheet->set_title( 'Internal table' ).
- ls_iconset-iconset = zcl_excel_style_conditional=>c_iconset_5arrows.
- ls_iconset-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-iconset = zcl_excel_style_cond=>c_iconset_5arrows.
+ ls_iconset-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo1_value = '0'.
- ls_iconset-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo2_value = '20'.
- ls_iconset-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo3_value = '40'.
- ls_iconset-cfvo4_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo4_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo4_value = '60'.
- ls_iconset-cfvo5_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo5_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo5_value = '80'.
- ls_iconset-showvalue = zcl_excel_style_conditional=>c_showvalue_true.
+ ls_iconset-showvalue = zcl_excel_style_cond=>c_showvalue_true.
- "Conditional style
- lo_style_conditional2 = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional2->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional2->mode_iconset = ls_iconset.
- lo_style_conditional2->priority = 1.
+ "cond style
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->mode_iconset = ls_iconset.
+ lo_style_cond->priority = 1.
DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
@@ -75,7 +75,7 @@ START-OF-SELECTION.
-position = 1.
-dynpfld = abap_true.
-totals_function = zcl_excel_table=>totals_function_sum.
- -cond_style = lo_style_conditional2.
+ -style_cond = lo_style_cond->get_guid( ).
WHEN OTHERS.
-dynpfld = abap_false.
ENDCASE.
@@ -87,8 +87,8 @@ START-OF-SELECTION.
is_table_settings = ls_table_settings
it_field_catalog = lt_field_catalog ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'D' ). "make date field a bit wider
- column_dimension->set_width( ip_width = 13 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'D' ). "make date field a bit wider
+ lo_column->set_width( ip_width = 13 ).
*** Create output
diff --git a/src/zdemo_excel11.prog.abap b/src/zdemo_excel11.prog.abap
index 250a940..c05ae30 100644
--- a/src/zdemo_excel11.prog.abap
+++ b/src/zdemo_excel11.prog.abap
@@ -191,8 +191,8 @@ START-OF-SELECTION.
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,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
+ 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.
@@ -358,8 +358,8 @@ START-OF-SELECTION.
ip_style = lv_style_body_even_guid ).
ENDLOOP.
" Hide first row
- row_dimension = lo_worksheet->get_row_dimension( 1 ).
- row_dimension->set_visible( abap_false ).
+ lo_row = lo_worksheet->get_row( 1 ).
+ lo_row->set_visible( abap_false ).
DATA: highest_column TYPE zexcel_cell_column,
count TYPE int4,
@@ -369,46 +369,10 @@ START-OF-SELECTION.
count = 1.
WHILE count <= highest_column.
col_alpha = zcl_excel_common=>convert_column2alpha( ip_column = count ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = col_alpha ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = col_alpha ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
count = count + 1.
ENDWHILE.
-* " Set Column width manuall
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ).
-* column_dimension->set_width( ip_width = 11 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
-* column_dimension->set_width( ip_width = 11 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
-* column_dimension->set_width( ip_width = 35 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ).
-* column_dimension->set_width( ip_width = 18 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'F' ).
-* column_dimension->set_width( ip_width = 5 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'G' ).
-* column_dimension->set_width( ip_width = 6 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'H' ).
-* column_dimension->set_width( ip_width = 12 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'I' ).
-* column_dimension->set_width( ip_width = 3 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'J' ).
-* column_dimension->set_width( ip_width = 13 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'K' ).
-* column_dimension->set_width( ip_width = 13 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'L' ).
-* column_dimension->set_width( ip_width = 13 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'M' ).
-* column_dimension->set_width( ip_width = 13 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'N' ).
-* column_dimension->set_width( ip_width = 12 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'O' ).
-* column_dimension->set_width( ip_width = 9 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'P' ).
-* column_dimension->set_width( ip_width = 12 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'Q' ).
-* column_dimension->set_width( ip_width = 9 ).
-* column_dimension = lo_worksheet->get_column_dimension( ip_column = 'R' ).
-* column_dimension->set_width( ip_width = 40 ).
-
*** Create output
lcl_output=>output( lo_excel ).
diff --git a/src/zdemo_excel12.prog.abap b/src/zdemo_excel12.prog.abap
index 4041f53..1574ccf 100644
--- a/src/zdemo_excel12.prog.abap
+++ b/src/zdemo_excel12.prog.abap
@@ -10,8 +10,8 @@ REPORT zdemo_excel12.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
+ 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,
@@ -54,35 +54,27 @@ START-OF-SELECTION.
" Column Settings
" Auto size
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'I' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ 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 = 'I' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
" Manual Width
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- column_dimension->set_width( ip_width = 50 ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'D' ).
- column_dimension->set_visible( ip_visible = abap_false ).
+ lo_column = lo_worksheet->get_column( ip_column = 'C' ).
+ lo_column->set_width( ip_width = 50 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'D' ).
+ lo_column->set_visible( ip_visible = abap_false ).
" Implementation in the Writer is not working yet ===== TODO =====
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'F' ).
- column_dimension->set_outline_level( ip_outline_level = 0 ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'G' ).
- column_dimension->set_outline_level( ip_outline_level = 1 ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'H' ).
- column_dimension->set_outline_level( ip_outline_level = 2 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'F' ).
+ lo_column->set_outline_level( ip_outline_level = 0 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'G' ).
+ lo_column->set_outline_level( ip_outline_level = 1 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'H' ).
+ lo_column->set_outline_level( ip_outline_level = 2 ).
- row_dimension = lo_worksheet->get_row_dimension( ip_row = 1 ).
- row_dimension->set_visible( ip_visible = abap_false ).
- row_dimension = lo_worksheet->get_row_dimension( ip_row = 5 ).
- row_dimension->set_row_height( ip_row_height = 20 ).
-* obsolete, not intuitive. Use new method shown below
-* " Implementation in the Writer is not working yet ===== TODO =====
-* row_dimension = lo_worksheet->get_row_dimension( ip_row = 6 ).
-* row_dimension->set_outline_level( ip_outline_level = 0 ).
-* row_dimension = lo_worksheet->get_row_dimension( ip_row = 7 ).
-* row_dimension->set_outline_level( ip_outline_level = 1 ).
-* row_dimension = lo_worksheet->get_row_dimension( ip_row = 8 ).
-* row_dimension->set_outline_level( ip_outline_level = 2 ).
+ lo_row = lo_worksheet->get_row( ip_row = 1 ).
+ lo_row->set_visible( ip_visible = abap_false ).
+ lo_row = lo_worksheet->get_row( ip_row = 5 ).
+ lo_row->set_row_height( ip_row_height = 20 ).
* Define an outline rows 10-16, collapsed on startup
lo_worksheet->set_row_outline( iv_row_from = 10
diff --git a/src/zdemo_excel14.prog.abap b/src/zdemo_excel14.prog.abap
index 162cafc..0870fdf 100644
--- a/src/zdemo_excel14.prog.abap
+++ b/src/zdemo_excel14.prog.abap
@@ -37,7 +37,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
lv_style_shrink_guid TYPE zexcel_cell_style,
lv_style_indent_guid TYPE zexcel_cell_style.
-DATA: lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
+DATA: lo_row TYPE REF TO zcl_excel_row.
CONSTANTS: gc_save_file_name TYPE string VALUE '14_Alignment.xlsx'.
INCLUDE zdemo_excel_outputopt_incl.
@@ -117,8 +117,8 @@ START-OF-SELECTION.
" Set row size for first 7 rows to 40
DO 7 TIMES.
- lo_row_dimension = lo_worksheet->get_row_dimension( sy-index ).
- lo_row_dimension->set_row_height( 40 ).
+ lo_row = lo_worksheet->get_row( sy-index ).
+ lo_row->set_row_height( 40 ).
ENDDO.
"Horizontal alignment
diff --git a/src/zdemo_excel2.prog.abap b/src/zdemo_excel2.prog.abap
index be733fa..3e9660e 100644
--- a/src/zdemo_excel2.prog.abap
+++ b/src/zdemo_excel2.prog.abap
@@ -47,7 +47,7 @@ DATA: lv_file TYPE xstring,
DATA: lv_full_path TYPE string,
lv_workdir TYPE string,
lv_file_separator TYPE c.
-DATA: lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
+DATA: lo_row TYPE REF TO zcl_excel_row.
CONSTANTS: gc_save_file_name TYPE string VALUE '02_Styles.xlsx'.
INCLUDE zdemo_excel_outputopt_incl.
@@ -262,47 +262,47 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'B' ip_row = 10 ip_style = lv_style_gr_cornerlb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerlb ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 10 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 10 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 11 ip_style = lv_style_gr_cornerlt_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerlt ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 11 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 11 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 12 ip_style = lv_style_gr_cornerrb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerrb ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 12 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 12 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 13 ip_style = lv_style_gr_cornerrt_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerrt ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 13 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 13 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 14 ip_style = lv_style_gr_horizontal90_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontal90 ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 14 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 14 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 15 ip_style = lv_style_gr_horizontal270_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontal270 ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 15 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 15 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 16 ip_style = lv_style_gr_horizontalb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontalb ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 16 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 16 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 17 ip_style = lv_style_gr_vertical_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_vertical ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 17 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 17 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 18 ip_style = lv_style_gr_vertical2_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_vertical ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 18 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 18 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 19 ip_style = lv_style_gr_fromcenter_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_fromcenter ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 19 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 19 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 20 ip_style = lv_style_gr_diagonal45_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal45 ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 20 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 20 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 21 ip_style = lv_style_gr_diagonal45b_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal45b ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 21 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 21 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'B' ip_row = 22 ip_style = lv_style_gr_diagonal135_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal135 ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 22 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 22 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 23 ip_style = lv_style_gr_diagonal135b_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal135b ).
- lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 23 ).
- lo_row_dim->set_row_height( ip_row_height = 30 ).
+ lo_row = lo_worksheet->get_row( ip_row = 23 ).
+ lo_row->set_row_height( ip_row_height = 30 ).
diff --git a/src/zdemo_excel24.prog.abap b/src/zdemo_excel24.prog.abap
index 1104942..ace4342 100644
--- a/src/zdemo_excel24.prog.abap
+++ b/src/zdemo_excel24.prog.abap
@@ -12,7 +12,7 @@ TYPE-POOLS: abap.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
DATA: lv_file TYPE xstring,
@@ -44,8 +44,8 @@ START-OF-SELECTION.
lo_hyperlink = zcl_excel_hyperlink=>create_internal_link( iv_location = 'Sheet2!A1' ).
lo_worksheet->set_cell( ip_column = 'A' ip_row = 6 ip_value = 'This is a link to the second sheet' ip_hyperlink = lo_hyperlink ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'A' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
" Second sheet
diff --git a/src/zdemo_excel27.prog.abap b/src/zdemo_excel27.prog.abap
index 20bce0f..84f452e 100644
--- a/src/zdemo_excel27.prog.abap
+++ b/src/zdemo_excel27.prog.abap
@@ -14,7 +14,7 @@ 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_conditional TYPE REF TO zcl_excel_style_conditional,
+ 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,
@@ -36,7 +36,7 @@ START-OF-SELECTION.
lo_style_1 = lo_excel->add_new_style( ).
lo_style_1->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
- lo_style_1->fill->bgcolor-rgb = zcl_excel_style_color=>c_green.
+ lo_style_1->fill->bgcolor-rgb = zcl_excel_style_color=>c_green.
lv_style_1_guid = lo_style_1->get_guid( ).
lo_style_2 = lo_excel->add_new_style( ).
@@ -73,31 +73,29 @@ START-OF-SELECTION.
lo_data_validation->cell_column = 'C'.
lo_worksheet->set_cell( ip_row = 2 ip_column = 'C' ip_value = 'Select a value' ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_cellis.
- ls_cellis-formula = '"Anchovy"'.
- ls_cellis-operator = zcl_excel_style_conditional=>c_operator_equal.
- ls_cellis-cell_style = lv_style_1_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 = 2
- ip_stop_column = 'C'
- ip_stop_row = 2 ).
-
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_cellis.
- ls_cellis-formula = '"Carp"'.
- ls_cellis-operator = zcl_excel_style_conditional=>c_operator_equal.
- ls_cellis-cell_style = lv_style_2_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 = 2
- ip_stop_column = 'C'
- ip_stop_row = 2 ).
-
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_cellis.
+ ls_cellis-formula = '"Anchovy"'.
+ ls_cellis-operator = zcl_excel_style_cond=>c_operator_equal.
+ ls_cellis-cell_style = lv_style_1_guid.
+ lo_style_cond->mode_cellis = ls_cellis.
+ lo_style_cond->priority = 1.
+ lo_style_cond->set_range( ip_start_column = 'C'
+ ip_start_row = 2
+ ip_stop_column = 'C'
+ ip_stop_row = 2 ).
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_cellis.
+ ls_cellis-formula = '"Carp"'.
+ ls_cellis-operator = zcl_excel_style_cond=>c_operator_equal.
+ ls_cellis-cell_style = lv_style_2_guid.
+ lo_style_cond->mode_cellis = ls_cellis.
+ lo_style_cond->priority = 2.
+ lo_style_cond->set_range( ip_start_column = 'C'
+ ip_start_row = 2
+ ip_stop_column = 'C'
+ ip_stop_row = 2 ).
*** Create output
lcl_output=>output( lo_excel ).
diff --git a/src/zdemo_excel28.prog.abap b/src/zdemo_excel28.prog.abap
index 88c7cb8..0c3b4e6 100644
--- a/src/zdemo_excel28.prog.abap
+++ b/src/zdemo_excel28.prog.abap
@@ -12,7 +12,7 @@ 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_hyperlink TYPE REF TO zcl_excel_hyperlink,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ lo_column TYPE REF TO zcl_excel_column.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
@@ -56,8 +56,8 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
- column_dimension = lo_worksheet->get_column_dimension( 'B' ).
- column_dimension->set_width( 11 ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_width( 11 ).
lo_worksheet = lo_excel->add_new_worksheet( ).
lo_worksheet->set_title( ip_title = 'Sheet2' ).
@@ -93,7 +93,7 @@ START-OF-SELECTION.
CHANGING data_tab = lt_file_tab ).
* zcl_excel_writer_csv=>set_active_sheet_index( i_active_worksheet = 2 ).
- zcl_excel_writer_csv=>set_active_sheet_index_by_name( I_WORKSHEET_NAME = 'Sheet1' ).
+ zcl_excel_writer_csv=>set_active_sheet_index_by_name( i_worksheet_name = 'Sheet1' ).
lv_file = lo_excel_writer->write_file( lo_excel ).
REPLACE FIRST OCCURRENCE OF '_Sheet2.csv' IN lv_full_path WITH '_Sheet1.csv'.
diff --git a/src/zdemo_excel3.prog.abap b/src/zdemo_excel3.prog.abap
index 53584bf..cfc4805 100644
--- a/src/zdemo_excel3.prog.abap
+++ b/src/zdemo_excel3.prog.abap
@@ -12,7 +12,7 @@ TYPE-POOLS: abap.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ lo_column TYPE REF TO zcl_excel_column.
DATA: ls_table_settings TYPE zexcel_s_table_settings.
@@ -55,8 +55,8 @@ START-OF-SELECTION.
lo_worksheet->freeze_panes( ip_num_rows = 3 ). "freeze column headers when scrolling
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ). "make date field a bit wider
- column_dimension->set_width( ip_width = 11 ).
+ lo_column = lo_worksheet->get_column( ip_column = 'E' ). "make date field a bit wider
+ lo_column->set_width( ip_width = 11 ).
" Add another table for data validations
lo_worksheet = lo_excel->add_new_worksheet( ).
lv_title = 'Data Validation'.
diff --git a/src/zdemo_excel30.prog.abap b/src/zdemo_excel30.prog.abap
index 836df2b..71d8432 100644
--- a/src/zdemo_excel30.prog.abap
+++ b/src/zdemo_excel30.prog.abap
@@ -11,7 +11,7 @@ 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,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ lo_column TYPE REF TO zcl_excel_column.
DATA: lv_value TYPE string,
@@ -81,16 +81,16 @@ START-OF-SELECTION.
lv_count = lv_count + 1.
ENDWHILE.
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ).
- column_dimension->set_auto_size( abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- column_dimension->set_auto_size( abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- column_dimension->set_auto_size( abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'D' ).
- column_dimension->set_auto_size( abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ).
- column_dimension->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'A' ).
+ lo_column->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'B' ).
+ lo_column->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'C' ).
+ lo_column->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'D' ).
+ lo_column->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( ip_column = 'E' ).
+ lo_column->set_auto_size( abap_true ).
diff --git a/src/zdemo_excel31.prog.abap b/src/zdemo_excel31.prog.abap
index 081003b..84f1737 100644
--- a/src/zdemo_excel31.prog.abap
+++ b/src/zdemo_excel31.prog.abap
@@ -11,7 +11,7 @@ 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,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
+ lo_column TYPE REF TO zcl_excel_column.
DATA: fieldval TYPE text80,
@@ -55,12 +55,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'C' ip_row = row ip_value = fieldval ip_style = style_column_c_guid ).
ENDDO.
- column_dimension = lo_worksheet->get_column_dimension( 'A' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'B' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'C' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'C' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
" Add sheet
lo_worksheet = lo_excel->add_new_worksheet( ).
@@ -91,12 +91,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'C' ip_row = row ip_value = fieldval ip_style = style_column_c_guid ).
ENDDO.
- column_dimension = lo_worksheet->get_column_dimension( 'A' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'B' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'C' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'C' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
" Add sheet
lo_worksheet = lo_excel->add_new_worksheet( ).
@@ -127,12 +127,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_column = 'C' ip_row = row ip_value = fieldval ip_style = style_column_c_guid ).
ENDDO.
- column_dimension = lo_worksheet->get_column_dimension( 'A' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'B' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'C' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'C' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
" Add sheet for merged cells
lo_worksheet = lo_excel->add_new_worksheet( ).
@@ -148,8 +148,8 @@ START-OF-SELECTION.
ip_column_end = 'C'
ip_row = 1 ).
- column_dimension = lo_worksheet->get_column_dimension( 'A' ).
- column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_auto_size( ip_auto_size = abap_true ).
lo_excel->set_active_sheet_index( i_active_worksheet = 1 ).
diff --git a/src/zdemo_excel34.prog.abap b/src/zdemo_excel34.prog.abap
index 1334d8d..4fe0f32 100644
--- a/src/zdemo_excel34.prog.abap
+++ b/src/zdemo_excel34.prog.abap
@@ -19,8 +19,8 @@ DATA: current_row TYPE i,
colorflag TYPE i,
color TYPE zexcel_style_color_argb,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
- row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
+ lo_column TYPE REF TO zcl_excel_column,
+ lo_row TYPE REF TO zcl_excel_row,
writing1 TYPE string,
writing2 TYPE string.
@@ -65,12 +65,12 @@ START-OF-SELECTION.
col_alpha = zcl_excel_common=>convert_column2alpha( col ).
* Set size of column
- column_dimension = lo_worksheet->get_column_dimension( col_alpha ).
- column_dimension->set_width( width ).
+ lo_column = lo_worksheet->get_column( col_alpha ).
+ lo_column->set_width( width ).
* Set size of row
- row_dimension = lo_worksheet->get_row_dimension( row ).
- row_dimension->set_row_height( height ).
+ lo_row = lo_worksheet->get_row( row ).
+ lo_row->set_row_height( height ).
* Set writing on chessboard
lo_worksheet->set_cell( ip_row = row
@@ -100,10 +100,10 @@ START-OF-SELECTION.
ip_row = row
ip_alignment_horizontal = zcl_excel_style_alignment=>c_horizontal_center ).
ENDDO.
- column_dimension = lo_worksheet->get_column_dimension( 'A' ).
- column_dimension->set_auto_size( abap_true ).
- column_dimension = lo_worksheet->get_column_dimension( 'J' ).
- column_dimension->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( 'A' ).
+ lo_column->set_auto_size( abap_true ).
+ lo_column = lo_worksheet->get_column( 'J' ).
+ lo_column->set_auto_size( abap_true ).
* Set win-position
CONSTANTS: c_pawn TYPE string VALUE 'Pawn'.
diff --git a/src/zdemo_excel36.prog.abap b/src/zdemo_excel36.prog.abap
index 74f2258..8fecb97 100644
--- a/src/zdemo_excel36.prog.abap
+++ b/src/zdemo_excel36.prog.abap
@@ -4,7 +4,7 @@ REPORT zdemo_excel36.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
col TYPE i.
DATA: lo_style_arial20 TYPE REF TO zcl_excel_style,
@@ -69,12 +69,12 @@ START-OF-SELECTION.
* 3rd sheet - defaultstyle for columns ( set to Times New Roman 11 )
lo_worksheet = lo_excel->add_new_worksheet( ).
lo_worksheet->set_title( 'Style for 3 columns' ).
- column_dimension = lo_worksheet->get_column_dimension( 'B' ).
- column_dimension->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
- column_dimension = lo_worksheet->get_column_dimension( 'C' ).
- column_dimension->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
- column_dimension = lo_worksheet->get_column_dimension( 'F' ).
- column_dimension->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
+ lo_column = lo_worksheet->get_column( 'B' ).
+ lo_column->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
+ lo_column = lo_worksheet->get_column( 'C' ).
+ lo_column->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
+ lo_column = lo_worksheet->get_column( 'F' ).
+ lo_column->set_column_style_by_guid( ip_style_guid = lv_style_times11_guid ).
lo_worksheet->set_cell( ip_column = 2 ip_row = 4 ip_value = 'The columns B,C and F are set to Times New Roman' ).
lo_worksheet->set_cell( ip_column = 2 ip_row = 10 ip_value = 'All other cells in this sheet are set to font Arial, fontsize 20' ).
diff --git a/src/zdemo_excel38.prog.abap b/src/zdemo_excel38.prog.abap
index 553f151..a67772a 100644
--- a/src/zdemo_excel38.prog.abap
+++ b/src/zdemo_excel38.prog.abap
@@ -3,7 +3,7 @@ REPORT.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- lo_column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lo_drawing TYPE REF TO zcl_excel_drawing.
TYPES: BEGIN OF gty_icon,
@@ -36,10 +36,10 @@ START-OF-SELECTION.
" Get active sheet
lo_worksheet = lo_excel->get_active_worksheet( ).
lo_worksheet->set_title( ip_title = 'Demo Icons' ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ).
- lo_column_dimension->set_auto_size( 'X' ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- lo_column_dimension->set_auto_size( 'X' ).
+ lo_column = lo_worksheet->get_column( ip_column = 'A' ).
+ lo_column->set_auto_size( 'X' ).
+ lo_column = lo_worksheet->get_column( ip_column = 'B' ).
+ lo_column->set_auto_size( 'X' ).
* Get all icons
SELECT name
diff --git a/src/zdemo_excel5.prog.abap b/src/zdemo_excel5.prog.abap
index d2ac970..6c15697 100644
--- a/src/zdemo_excel5.prog.abap
+++ b/src/zdemo_excel5.prog.abap
@@ -10,7 +10,7 @@ REPORT zdemo_excel5.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
+ lo_style_cond TYPE REF TO zcl_excel_style_cond.
DATA: ls_iconset TYPE zexcel_conditional_iconset.
@@ -27,22 +27,22 @@ START-OF-SELECTION.
" Get active sheet
lo_worksheet = lo_excel->get_active_worksheet( ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
- ls_iconset-iconset = zcl_excel_style_conditional=>c_iconset_3trafficlights2.
- ls_iconset-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights2.
+ ls_iconset-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo1_value = '0'.
- ls_iconset-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo2_value = '33'.
- ls_iconset-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset-cfvo3_value = '66'.
- ls_iconset-showvalue = zcl_excel_style_conditional=>c_showvalue_true.
+ ls_iconset-showvalue = zcl_excel_style_cond=>c_showvalue_true.
- lo_style_conditional->mode_iconset = ls_iconset.
- lo_style_conditional->set_range( ip_start_column = 'C'
+ lo_style_cond->mode_iconset = ls_iconset.
+ lo_style_cond->set_range( ip_start_column = 'C'
ip_start_row = 4
ip_stop_column = 'C'
ip_stop_row = 8 ).
@@ -55,16 +55,16 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 500 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset-iconset = zcl_excel_style_conditional=>c_iconset_3trafficlights2.
- ls_iconset-showvalue = zcl_excel_style_conditional=>c_showvalue_false.
- lo_style_conditional->mode_iconset = ls_iconset.
- lo_style_conditional->set_range( ip_start_column = 'E'
- ip_start_row = 4
- ip_stop_column = 'E'
- ip_stop_row = 8 ).
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights2.
+ ls_iconset-showvalue = zcl_excel_style_cond=>c_showvalue_false.
+ lo_style_cond->mode_iconset = ls_iconset.
+ lo_style_cond->set_range( ip_start_column = 'E'
+ ip_start_row = 4
+ ip_stop_column = 'E'
+ ip_stop_row = 8 ).
lo_worksheet->set_cell( ip_row = 4 ip_column = 'E' ip_value = 100 ).
diff --git a/src/zdemo_excel7.prog.abap b/src/zdemo_excel7.prog.abap
index bcff7ae..121f9e7 100644
--- a/src/zdemo_excel7.prog.abap
+++ b/src/zdemo_excel7.prog.abap
@@ -10,7 +10,7 @@ REPORT zdemo_excel7.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
- lo_style_conditional TYPE REF TO zcl_excel_style_conditional.
+ lo_style_cond TYPE REF TO zcl_excel_style_cond.
DATA: ls_iconset3 TYPE zexcel_conditional_iconset,
ls_iconset4 TYPE zexcel_conditional_iconset,
@@ -27,54 +27,54 @@ START-OF-SELECTION.
CREATE OBJECT lo_excel.
- ls_iconset3-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset3-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset3-cfvo1_value = '0'.
- ls_iconset3-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset3-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset3-cfvo2_value = '33'.
- ls_iconset3-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset3-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset3-cfvo3_value = '66'.
- ls_iconset3-showvalue = zcl_excel_style_conditional=>c_showvalue_true.
+ ls_iconset3-showvalue = zcl_excel_style_cond=>c_showvalue_true.
- ls_iconset4-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset4-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset4-cfvo1_value = '0'.
- ls_iconset4-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset4-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset4-cfvo2_value = '25'.
- ls_iconset4-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset4-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset4-cfvo3_value = '50'.
- ls_iconset4-cfvo4_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset4-cfvo4_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset4-cfvo4_value = '75'.
- ls_iconset4-showvalue = zcl_excel_style_conditional=>c_showvalue_true.
+ ls_iconset4-showvalue = zcl_excel_style_cond=>c_showvalue_true.
- ls_iconset5-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset5-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset5-cfvo1_value = '0'.
- ls_iconset5-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset5-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset5-cfvo2_value = '20'.
- ls_iconset5-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset5-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset5-cfvo3_value = '40'.
- ls_iconset5-cfvo4_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset5-cfvo4_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset5-cfvo4_value = '60'.
- ls_iconset5-cfvo5_type = zcl_excel_style_conditional=>c_cfvo_type_percent.
+ ls_iconset5-cfvo5_type = zcl_excel_style_cond=>c_cfvo_type_percent.
ls_iconset5-cfvo5_value = '80'.
- ls_iconset5-showvalue = zcl_excel_style_conditional=>c_showvalue_true.
+ ls_iconset5-showvalue = zcl_excel_style_cond=>c_showvalue_true.
- ls_databar-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_min.
+ ls_databar-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_min.
ls_databar-cfvo1_value = '0'.
- ls_databar-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_max.
+ ls_databar-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_max.
ls_databar-cfvo2_value = '0'.
ls_databar-colorrgb = 'FF638EC6'.
- ls_colorscale2-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_min.
+ ls_colorscale2-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_min.
ls_colorscale2-cfvo1_value = '0'.
- ls_colorscale2-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percentile.
+ ls_colorscale2-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percentile.
ls_colorscale2-cfvo2_value = '50'.
ls_colorscale2-colorrgb1 = 'FFF8696B'.
ls_colorscale2-colorrgb2 = 'FF63BE7B'.
- ls_colorscale3-cfvo1_type = zcl_excel_style_conditional=>c_cfvo_type_min.
+ ls_colorscale3-cfvo1_type = zcl_excel_style_cond=>c_cfvo_type_min.
ls_colorscale3-cfvo1_value = '0'.
- ls_colorscale3-cfvo2_type = zcl_excel_style_conditional=>c_cfvo_type_percentile.
+ ls_colorscale3-cfvo2_type = zcl_excel_style_cond=>c_cfvo_type_percentile.
ls_colorscale3-cfvo2_value = '50'.
- ls_colorscale3-cfvo3_type = zcl_excel_style_conditional=>c_cfvo_type_max.
+ ls_colorscale3-cfvo3_type = zcl_excel_style_cond=>c_cfvo_type_max.
ls_colorscale3-cfvo3_value = '0'.
ls_colorscale3-colorrgb1 = 'FFF8696B'.
ls_colorscale3-colorrgb2 = 'FFFFEB84'.
@@ -85,14 +85,14 @@ START-OF-SELECTION.
* ICONSET
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3arrows.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3arrows.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'B'
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'B'
ip_start_row = 5
ip_stop_column = 'B'
ip_stop_row = 9 ).
@@ -104,12 +104,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'B' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'B' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3arrowsgray.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'C'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3arrowsgray.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'C'
ip_start_row = 5
ip_stop_column = 'C'
ip_stop_row = 9 ).
@@ -120,12 +120,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 7 ip_column = 'C' ip_value = 30 ).
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'C' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3flags.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'D'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3flags.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'D'
ip_start_row = 5
ip_stop_column = 'D'
ip_stop_row = 9 ).
@@ -137,12 +137,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'D' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'D' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3trafficlights.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'E'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'E'
ip_start_row = 5
ip_stop_column = 'E'
ip_stop_row = 9 ).
@@ -154,12 +154,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'E' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'E' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3trafficlights2.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'F'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3trafficlights2.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'F'
ip_start_row = 5
ip_stop_column = 'F'
ip_stop_row = 9 ).
@@ -171,12 +171,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'F' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'F' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3signs.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'G'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3signs.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'G'
ip_start_row = 5
ip_stop_column = 'G'
ip_stop_row = 9 ).
@@ -188,12 +188,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'G' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'G' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3symbols.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'H'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3symbols.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'H'
ip_start_row = 5
ip_stop_column = 'H'
ip_stop_row = 9 ).
@@ -205,12 +205,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'H' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'H' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset3-iconset = zcl_excel_style_conditional=>c_iconset_3symbols2.
- lo_style_conditional->mode_iconset = ls_iconset3.
- lo_style_conditional->set_range( ip_start_column = 'I'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset3-iconset = zcl_excel_style_cond=>c_iconset_3symbols2.
+ lo_style_cond->mode_iconset = ls_iconset3.
+ lo_style_cond->set_range( ip_start_column = 'I'
ip_start_row = 5
ip_stop_column = 'I'
ip_stop_row = 9 ).
@@ -222,12 +222,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'I' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 9 ip_column = 'I' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset4-iconset = zcl_excel_style_conditional=>c_iconset_4arrows.
- lo_style_conditional->mode_iconset = ls_iconset4.
- lo_style_conditional->set_range( ip_start_column = 'B'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset4-iconset = zcl_excel_style_cond=>c_iconset_4arrows.
+ lo_style_cond->mode_iconset = ls_iconset4.
+ lo_style_cond->set_range( ip_start_column = 'B'
ip_start_row = 12
ip_stop_column = 'B'
ip_stop_row = 16 ).
@@ -239,12 +239,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 15 ip_column = 'B' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 16 ip_column = 'B' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset4-iconset = zcl_excel_style_conditional=>c_iconset_4arrowsgray.
- lo_style_conditional->mode_iconset = ls_iconset4.
- lo_style_conditional->set_range( ip_start_column = 'C'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset4-iconset = zcl_excel_style_cond=>c_iconset_4arrowsgray.
+ lo_style_cond->mode_iconset = ls_iconset4.
+ lo_style_cond->set_range( ip_start_column = 'C'
ip_start_row = 12
ip_stop_column = 'C'
ip_stop_row = 16 ).
@@ -256,12 +256,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 15 ip_column = 'C' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 16 ip_column = 'C' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset4-iconset = zcl_excel_style_conditional=>c_iconset_4redtoblack.
- lo_style_conditional->mode_iconset = ls_iconset4.
- lo_style_conditional->set_range( ip_start_column = 'D'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset4-iconset = zcl_excel_style_cond=>c_iconset_4redtoblack.
+ lo_style_cond->mode_iconset = ls_iconset4.
+ lo_style_cond->set_range( ip_start_column = 'D'
ip_start_row = 12
ip_stop_column = 'D'
ip_stop_row = 16 ).
@@ -273,12 +273,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 15 ip_column = 'D' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 16 ip_column = 'D' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset4-iconset = zcl_excel_style_conditional=>c_iconset_4rating.
- lo_style_conditional->mode_iconset = ls_iconset4.
- lo_style_conditional->set_range( ip_start_column = 'E'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset4-iconset = zcl_excel_style_cond=>c_iconset_4rating.
+ lo_style_cond->mode_iconset = ls_iconset4.
+ lo_style_cond->set_range( ip_start_column = 'E'
ip_start_row = 12
ip_stop_column = 'E'
ip_stop_row = 16 ).
@@ -290,12 +290,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 15 ip_column = 'E' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 16 ip_column = 'E' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset4-iconset = zcl_excel_style_conditional=>c_iconset_4trafficlights.
- lo_style_conditional->mode_iconset = ls_iconset4.
- lo_style_conditional->set_range( ip_start_column = 'F'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset4-iconset = zcl_excel_style_cond=>c_iconset_4trafficlights.
+ lo_style_cond->mode_iconset = ls_iconset4.
+ lo_style_cond->set_range( ip_start_column = 'F'
ip_start_row = 12
ip_stop_column = 'F'
ip_stop_row = 16 ).
@@ -307,12 +307,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 15 ip_column = 'F' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 16 ip_column = 'F' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset5-iconset = zcl_excel_style_conditional=>c_iconset_5arrows.
- lo_style_conditional->mode_iconset = ls_iconset5.
- lo_style_conditional->set_range( ip_start_column = 'B'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset5-iconset = zcl_excel_style_cond=>c_iconset_5arrows.
+ lo_style_cond->mode_iconset = ls_iconset5.
+ lo_style_cond->set_range( ip_start_column = 'B'
ip_start_row = 19
ip_stop_column = 'B'
ip_stop_row = 23 ).
@@ -324,12 +324,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 22 ip_column = 'B' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 23 ip_column = 'B' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset5-iconset = zcl_excel_style_conditional=>c_iconset_5arrowsgray.
- lo_style_conditional->mode_iconset = ls_iconset5.
- lo_style_conditional->set_range( ip_start_column = 'C'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset5-iconset = zcl_excel_style_cond=>c_iconset_5arrowsgray.
+ lo_style_cond->mode_iconset = ls_iconset5.
+ lo_style_cond->set_range( ip_start_column = 'C'
ip_start_row = 19
ip_stop_column = 'C'
ip_stop_row = 23 ).
@@ -341,12 +341,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 22 ip_column = 'C' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 23 ip_column = 'C' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset5-iconset = zcl_excel_style_conditional=>c_iconset_5rating.
- lo_style_conditional->mode_iconset = ls_iconset5.
- lo_style_conditional->set_range( ip_start_column = 'D'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset5-iconset = zcl_excel_style_cond=>c_iconset_5rating.
+ lo_style_cond->mode_iconset = ls_iconset5.
+ lo_style_cond->set_range( ip_start_column = 'D'
ip_start_row = 19
ip_stop_column = 'D'
ip_stop_row = 23 ).
@@ -358,12 +358,12 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 22 ip_column = 'D' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 23 ip_column = 'D' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_iconset.
- lo_style_conditional->priority = 1.
- ls_iconset5-iconset = zcl_excel_style_conditional=>c_iconset_5quarters.
- lo_style_conditional->mode_iconset = ls_iconset5.
- lo_style_conditional->set_range( ip_start_column = 'E'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_iconset.
+ lo_style_cond->priority = 1.
+ ls_iconset5-iconset = zcl_excel_style_cond=>c_iconset_5quarters.
+ lo_style_cond->mode_iconset = ls_iconset5.
+ lo_style_cond->set_range( ip_start_column = 'E'
ip_start_row = 19
ip_stop_column = 'E'
ip_stop_row = 23 ).
@@ -377,11 +377,11 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 29 ip_column = 'B' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 30 ip_column = 'B' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_databar.
- lo_style_conditional->priority = 1.
- lo_style_conditional->mode_databar = ls_databar.
- lo_style_conditional->set_range( ip_start_column = 'B'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_databar.
+ lo_style_cond->priority = 1.
+ lo_style_cond->mode_databar = ls_databar.
+ lo_style_cond->set_range( ip_start_column = 'B'
ip_start_row = 26
ip_stop_column = 'B'
ip_stop_row = 30 ).
@@ -395,11 +395,11 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 29 ip_column = 'C' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 30 ip_column = 'C' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_colorscale.
- lo_style_conditional->priority = 1.
- lo_style_conditional->mode_colorscale = ls_colorscale2.
- lo_style_conditional->set_range( ip_start_column = 'C'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_colorscale.
+ lo_style_cond->priority = 1.
+ lo_style_cond->mode_colorscale = ls_colorscale2.
+ lo_style_cond->set_range( ip_start_column = 'C'
ip_start_row = 26
ip_stop_column = 'C'
ip_stop_row = 30 ).
@@ -412,11 +412,11 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 29 ip_column = 'D' ip_value = 40 ).
lo_worksheet->set_cell( ip_row = 30 ip_column = 'D' ip_value = 50 ).
- lo_style_conditional = lo_worksheet->add_new_conditional_style( ).
- lo_style_conditional->rule = zcl_excel_style_conditional=>c_rule_colorscale.
- lo_style_conditional->priority = 1.
- lo_style_conditional->mode_colorscale = ls_colorscale3.
- lo_style_conditional->set_range( ip_start_column = 'D'
+ lo_style_cond = lo_worksheet->add_new_style_cond( ).
+ lo_style_cond->rule = zcl_excel_style_cond=>c_rule_colorscale.
+ lo_style_cond->priority = 1.
+ lo_style_cond->mode_colorscale = ls_colorscale3.
+ lo_style_cond->set_range( ip_start_column = 'D'
ip_start_row = 26
ip_stop_column = 'D'
ip_stop_row = 30 ).
diff --git a/src/zdemo_teched6.prog.abap b/src/zdemo_teched6.prog.abap
index 9752085..c72846e 100644
--- a/src/zdemo_teched6.prog.abap
+++ b/src/zdemo_teched6.prog.abap
@@ -20,7 +20,7 @@ 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_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lv_style_title_guid TYPE zexcel_cell_style,
ls_key TYPE wwwdatatab.
@@ -133,10 +133,10 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
" add autosize (column width)
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ 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 ).
" Create xlsx stream
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
diff --git a/src/zdemo_teched7.prog.abap b/src/zdemo_teched7.prog.abap
index a429c8f..92e3447 100644
--- a/src/zdemo_teched7.prog.abap
+++ b/src/zdemo_teched7.prog.abap
@@ -20,7 +20,7 @@ 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_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lv_style_title_guid TYPE zexcel_cell_style,
ls_key TYPE wwwdatatab.
@@ -136,10 +136,10 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
" add autosize (column width)
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ 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 ).
" Create xlsx stream
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
diff --git a/src/zdemo_teched8.prog.abap b/src/zdemo_teched8.prog.abap
index 109064a..da49146 100644
--- a/src/zdemo_teched8.prog.abap
+++ b/src/zdemo_teched8.prog.abap
@@ -23,7 +23,7 @@ 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_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
lv_style_title_guid TYPE zexcel_cell_style,
lv_style_green_guid TYPE zexcel_cell_style,
@@ -144,10 +144,10 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
" add autosize (column width)
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ 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( ).
diff --git a/src/zdemo_teched9.prog.abap b/src/zdemo_teched9.prog.abap
index c9b0ac8..0127c24 100644
--- a/src/zdemo_teched9.prog.abap
+++ b/src/zdemo_teched9.prog.abap
@@ -23,7 +23,7 @@ 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_dimension TYPE REF TO zcl_excel_worksheet_columndime,
+ lo_column TYPE REF TO zcl_excel_column,
lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
lv_style_title_guid TYPE zexcel_cell_style,
lv_style_green_guid TYPE zexcel_cell_style,
@@ -122,10 +122,10 @@ CONSTANTS: lv_default_file_name TYPE string VALUE 'TechEd01.xlsx'.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'C' ip_value = 'Select a value' ).
" add autosize (column width)
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
- lo_column_dimension = lo_worksheet->get_column_dimension( ip_column = 'C' ).
- lo_column_dimension->set_auto_size( ip_auto_size = abap_true ).
+ 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( ).
diff --git a/src/zexcel_s_fieldcatalog.tabl.xml b/src/zexcel_s_fieldcatalog.tabl.xml
index 1b5b998..8ad2498 100644
--- a/src/zexcel_s_fieldcatalog.tabl.xml
+++ b/src/zexcel_s_fieldcatalog.tabl.xml
@@ -94,14 +94,11 @@
ZEXCEL_S_FIELDCATALOG
- COND_STYLE
+ STYLE_COND
0011
- ZCL_EXCEL_STYLE_CONDITIONAL
+ ZEXCEL_CELL_STYLE
0
- REF
- REF RC
- R
- C
+ E
ZEXCEL_S_FIELDCATALOG
diff --git a/src/zexcel_s_stylemapping.tabl.xml b/src/zexcel_s_stylemapping.tabl.xml
index 5450b02..aa35eec 100644
--- a/src/zexcel_s_stylemapping.tabl.xml
+++ b/src/zexcel_s_stylemapping.tabl.xml
@@ -56,17 +56,6 @@
F
E
-
- ZEXCEL_S_STYLEMAPPING
- CL_STYLE
- 0194
- ZCL_EXCEL_STYLE
- 0
- REF
- REF RC
- R
- C
-
diff --git a/src/zexcel_s_worksheet_columndime.tabl.xml b/src/zexcel_s_worksheet_columndime.tabl.xml
deleted file mode 100644
index b4168f6..0000000
--- a/src/zexcel_s_worksheet_columndime.tabl.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
- ZEXCEL_S_WORKSHEET_COLUMNDIME
- E
- INTTAB
- Stucture for the collection of column dimensions
- 1
-
-
-
- ZEXCEL_S_WORKSHEET_COLUMNDIME
- COLUMN
- 0001
- ZEXCEL_CELL_COLUMN_ALPHA
- 0
- E
-
-
- ZEXCEL_S_WORKSHEET_COLUMNDIME
- COLUMN_DIMENSION
- 0002
- ZCL_EXCEL_WORKSHEET_COLUMNDIME
- 0
- REF
- REF RC
- R
- C
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/zexcel_s_worksheet_rowdimensio.tabl.xml b/src/zexcel_s_worksheet_rowdimensio.tabl.xml
deleted file mode 100644
index a65e202..0000000
--- a/src/zexcel_s_worksheet_rowdimensio.tabl.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
- ZEXCEL_S_WORKSHEET_ROWDIMENSIO
- E
- INTTAB
- Stucture for the collection of row dimensions
- 1
-
-
-
- ZEXCEL_S_WORKSHEET_ROWDIMENSIO
- ROW
- 0001
- INT4
- 0
- E
-
-
- ZEXCEL_S_WORKSHEET_ROWDIMENSIO
- ROW_DIMENSION
- 0002
- ZCL_EXCEL_WORKSHEET_ROWDIMENSI
- 0
- REF
- REF RC
- R
- C
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/zexcel_t_worksheet_columndime.ttyp.xml b/src/zexcel_t_worksheet_columndime.ttyp.xml
deleted file mode 100644
index b15c1ab..0000000
--- a/src/zexcel_t_worksheet_columndime.ttyp.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- ZEXCEL_T_WORKSHEET_COLUMNDIME
- E
- ZEXCEL_S_WORKSHEET_COLUMNDIME
- S
- STRU
- T
- D
- N
- Collection of column dimensions
-
-
-
-
-
-
diff --git a/src/zexcel_t_worksheet_rowdimensio.ttyp.xml b/src/zexcel_t_worksheet_rowdimensio.ttyp.xml
deleted file mode 100644
index 338fdfc..0000000
--- a/src/zexcel_t_worksheet_rowdimensio.ttyp.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- ZEXCEL_T_WORKSHEET_ROWDIMENSIO
- E
- ZEXCEL_S_WORKSHEET_ROWDIMENSIO
- S
- STRU
- T
- D
- N
- Collection of row dimensions
-
-
-
-
-
-