diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
index 709fcc8..8ff3f5f 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
@@ -126,7 +126,17 @@ public section.
value(EP_SIZE) type I .
methods GET_TABLES_ITERATOR
returning
- value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
+ value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
+ methods GET_FREEZE_CELL
+ exporting
+ !EP_ROW type ZEXCEL_CELL_ROW
+ !EP_COLUMN type ZEXCEL_CELL_COLUMN .
+ methods FREEZE_PANES
+ importing
+ !IP_NUM_COLUMNS type I optional
+ !IP_NUM_ROWS type I optional
+ raising
+ ZCX_EXCEL .
*"* protected components of class ZCL_EXCEL_WORKSHEET
*"* do not include other source files here!!!
protected section.
@@ -146,6 +156,8 @@ private section.
data DEFAULT_ROW_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
data EXCEL type ref to ZCL_EXCEL .
data TABLES type ref to CL_OBJECT_COLLECTION .
+ data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN .
+ data FREEZE_PANE_CELL_ROW type ZEXCEL_CELL_ROW .
methods UPDATE_DIMENSION_RANGE .
*"* local class implementation for public class
@@ -181,6 +193,8 @@ private section.
+
+
method ADD_NEW_CONDITIONAL_STYLE.
@@ -868,6 +882,44 @@ endmethod.
SHIFT lv_row_alpha LEFT DELETING LEADING space.
CONCATENATE lv_column_alpha lv_row_alpha INTO lower_cell-cell_coords.
+endmethod.
+
+
+
+
+
+ METHOD freeze_panes.
+ data: lv_xsplit type i,
+ lv_ysplit type i.
+
+ IF ip_num_columns IS NOT SUPPLIED AND ip_num_rows IS NOT SUPPLIED.
+ RAISE EXCEPTION TYPE zcx_excel
+ EXPORTING
+ error = 'Pleas provide number of rows and/or columns to freeze'.
+ ENDIF.
+
+ IF ip_num_columns IS SUPPLIED AND ip_num_columns <= 0.
+ RAISE EXCEPTION TYPE zcx_excel
+ EXPORTING
+ error = 'Number of columns to freeze should be positive'.
+ ENDIF.
+
+ IF ip_num_rows IS SUPPLIED AND ip_num_rows <= 0.
+ RAISE EXCEPTION TYPE zcx_excel
+ EXPORTING
+ error = 'Number of rows to freeze should be positive'.
+ ENDIF.
+
+ freeze_pane_cell_column = ip_num_columns + 1.
+ freeze_pane_cell_row = ip_num_rows + 1.
+ENDMETHOD.
+
+
+
+
+ method GET_FREEZE_CELL.
+ ep_row = me->freeze_pane_cell_row.
+ ep_column = me->freeze_pane_cell_column.
endmethod.
diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
index 291dc83..071cd74 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
@@ -1,6 +1,6 @@
-
-
+
+
class ZCL_EXCEL_WRITER_2007 definition
public
final
@@ -97,28 +97,28 @@ private section.
*"* implementation or private method's signature
*"* use this source file for any macro definitions you need
*"* in the implementation part of the class
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- METHOD zif_excel_writer~write_file.
+ method ZIF_EXCEL_WRITER~WRITE_FILE.
me->excel = io_excel.
ep_file = me->create( ).
-ENDMETHOD.
+endmethod.
-
-
+
+
method CREATE.
@@ -246,8 +246,8 @@ ENDMETHOD.
endmethod.
-
-
+
+
method CREATE_CONTENT_TYPES.
@@ -331,7 +331,7 @@ endmethod.
value = lc_xml_node_theme_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_theme_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Styles node
lo_element = lo_document->create_simple_element( name = lc_xml_node_override
@@ -340,7 +340,7 @@ endmethod.
value = lc_xml_node_styles_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_styles_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" rels node
lo_element = lo_document->create_simple_element( name = lc_xml_node_default
@@ -349,7 +349,7 @@ endmethod.
value = lc_xml_node_rels_ext ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_rels_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" extension node
lo_element = lo_document->create_simple_element( name = lc_xml_node_default
@@ -358,7 +358,7 @@ endmethod.
value = lc_xml_node_xml_ext ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_xml_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Workbook node
lo_element = lo_document->create_simple_element( name = lc_xml_node_override
@@ -367,7 +367,7 @@ endmethod.
value = lc_xml_node_workb_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_workb_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Properties node
lo_element = lo_document->create_simple_element( name = lc_xml_node_override
@@ -376,7 +376,7 @@ endmethod.
value = lc_xml_node_props_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_props_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Worksheet node
lv_worksheets_num = excel->get_worksheets_size( ).
@@ -392,12 +392,12 @@ endmethod.
value = lv_xml_node_worksheet_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_worksheet_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDDO.
lo_iterator = me->excel->get_worksheets_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_worksheet ?= lo_iterator->get_next( ).
+ WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
lo_nested_iterator = lo_worksheet->get_tables_iterator( ).
@@ -413,7 +413,7 @@ endmethod.
value = lv_value ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_table_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDWHILE.
ENDWHILE.
@@ -424,7 +424,7 @@ endmethod.
value = lc_xml_node_strings_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_strings_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Strings node
lo_element = lo_document->create_simple_element( name = lc_xml_node_override
@@ -433,7 +433,7 @@ endmethod.
value = lc_xml_node_core_pn ).
lo_element->set_attribute_ns( name = lc_xml_attr_contenttype
value = lc_xml_node_core_ct ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
@@ -444,8 +444,8 @@ endmethod.
endmethod.
-
-
+
+
method CREATE_DOCPROPS_APP.
@@ -517,22 +517,22 @@ endmethod.
lo_element = lo_document->create_simple_element( name = lc_xml_node_application
parent = lo_document ).
lv_value = excel->properties->application.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" DocSecurity
lo_element = lo_document->create_simple_element( name = lc_xml_node_docsecurity
parent = lo_document ).
lv_value = excel->properties->docsecurity.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" ScaleCrop
lo_element = lo_document->create_simple_element( name = lc_xml_node_scalecrop
parent = lo_document ).
lv_value = me->flag2bool( excel->properties->scalecrop ).
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" HeadingPairs
lo_element = lo_document->create_simple_element( name = lc_xml_node_headingpairs
@@ -558,10 +558,10 @@ endmethod.
prefix = lc_vt_ns
parent = lo_document ).
lv_value = excel->get_worksheets_name( ).
- lo_sub_element_lpstr->set_value( lv_value ).
- lo_sub_element_variant->append_child( lo_sub_element_lpstr ). " lpstr node
+ lo_sub_element_lpstr->set_value( value = lv_value ).
+ lo_sub_element_variant->append_child( new_child = lo_sub_element_lpstr ). " lpstr node
- lo_sub_element_vector->append_child( lo_sub_element_variant ). " variant node
+ lo_sub_element_vector->append_child( new_child = lo_sub_element_variant ). " variant node
" ** variant node
lo_sub_element_variant = lo_document->create_simple_element_ns( name = lc_xml_node_variant
@@ -575,14 +575,14 @@ endmethod.
lv_value = excel->get_worksheets_size( ).
SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space.
- lo_sub_element_i4->set_value( lv_value ).
- lo_sub_element_variant->append_child( lo_sub_element_i4 ). " lpstr node
+ lo_sub_element_i4->set_value( value = lv_value ).
+ lo_sub_element_variant->append_child( new_child = lo_sub_element_i4 ). " lpstr node
- lo_sub_element_vector->append_child( lo_sub_element_variant ). " variant node
+ lo_sub_element_vector->append_child( new_child = lo_sub_element_variant ). " variant node
- lo_element->append_child( lo_sub_element_vector ). " vector node
+ lo_element->append_child( new_child = lo_sub_element_vector ). " vector node
- lo_element_root->append_child( lo_element ). " HeadingPairs
+ lo_element_root->append_child( new_child = lo_element ). " HeadingPairs
" TitlesOfParts
@@ -611,13 +611,13 @@ endmethod.
parent = lo_document ).
lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
lv_value = lo_worksheet->title.
- lo_sub_element_lpstr->set_value( lv_value ).
- lo_sub_element_vector->append_child( lo_sub_element_lpstr ). " lpstr node
+ lo_sub_element_lpstr->set_value( value = lv_value ).
+ lo_sub_element_vector->append_child( new_child = lo_sub_element_lpstr ). " lpstr node
ENDWHILE.
- lo_element->append_child( lo_sub_element_vector ). " vector node
+ lo_element->append_child( new_child = lo_sub_element_vector ). " vector node
- lo_element_root->append_child( lo_element ). " TitlesOfParts
+ lo_element_root->append_child( new_child = lo_element ). " TitlesOfParts
@@ -625,36 +625,36 @@ endmethod.
lo_element = lo_document->create_simple_element( name = lc_xml_node_company
parent = lo_document ).
lv_value = excel->properties->company.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" LinksUpToDate
lo_element = lo_document->create_simple_element( name = lc_xml_node_linksuptodate
parent = lo_document ).
lv_value = me->flag2bool( excel->properties->linksuptodate ).
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" SharedDoc
lo_element = lo_document->create_simple_element( name = lc_xml_node_shareddoc
parent = lo_document ).
lv_value = me->flag2bool( excel->properties->shareddoc ).
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" HyperlinksChanged
lo_element = lo_document->create_simple_element( name = lc_xml_node_hyperlinkschanged
parent = lo_document ).
lv_value = me->flag2bool( excel->properties->hyperlinkschanged ).
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" AppVersion
lo_element = lo_document->create_simple_element( name = lc_xml_node_appversion
parent = lo_document ).
lv_value = excel->properties->appversion.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
@@ -665,8 +665,8 @@ endmethod.
endmethod.
-
-
+
+
method CREATE_DOCPROPS_CORE.
@@ -737,16 +737,16 @@ endmethod.
prefix = lc_dc_ns
parent = lo_document ).
lv_value = excel->properties->creator.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" lastModifiedBy node
lo_element = lo_document->create_simple_element_ns( name = lc_xml_node_lastmodifiedby
prefix = lc_cp_ns
parent = lo_document ).
lv_value = excel->properties->lastmodifiedby.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" Created node
lo_element = lo_document->create_simple_element_ns( name = lc_xml_node_created
@@ -757,8 +757,8 @@ endmethod.
value = lc_xml_attr_target ).
lv_value = excel->properties->created.
lv_value = '2010-07-04T14:58:53Z'.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
" Modified node
lo_element = lo_document->create_simple_element_ns( name = lc_xml_node_modified
@@ -769,8 +769,8 @@ endmethod.
value = lc_xml_attr_target ).
lv_value = excel->properties->modified.
lv_value = '2010-07-04T14:58:53Z'.
- lo_element->set_value( lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element->set_value( value = lv_value ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
@@ -781,8 +781,8 @@ endmethod.
endmethod.
-
-
+
+
method CREATE_RELATIONSHIPS.
@@ -847,7 +847,7 @@ endmethod.
value = lc_xml_node_rId3_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rId3_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Styles node
lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship
@@ -858,7 +858,7 @@ endmethod.
value = lc_xml_node_rId2_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rId2_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" rels node
lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship
@@ -869,7 +869,7 @@ endmethod.
value = lc_xml_node_rId1_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rId1_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
@@ -880,8 +880,8 @@ endmethod.
endmethod.
-
-
+
+
method CREATE_XL_RELATIONSHIPS.
@@ -960,7 +960,7 @@ endmethod.
value = lc_xml_node_rid_styles_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rid_styles_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" Relationship node
@@ -978,7 +978,7 @@ endmethod.
value = lc_xml_node_rid_theme_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rid_theme_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
lv_size = excel->get_worksheets_size( ).
@@ -999,7 +999,7 @@ endmethod.
value = lc_xml_node_rid_sheet_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lv_xml_node_ridx_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDDO.
" Relationship node
@@ -1017,7 +1017,7 @@ endmethod.
value = lc_xml_node_rid_shared_tp ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rid_shared_tg ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
@@ -1028,8 +1028,8 @@ endmethod.
endmethod.
-
-
+
+
method CREATE_XL_SHAREDSTRINGS.
@@ -1131,9 +1131,9 @@ endmethod.
parent = lo_document ).
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_t
parent = lo_document ).
- lo_sub_element->set_value( <fs_sheet_string>-string_value ).
- lo_element->append_child( lo_sub_element ).
- lo_element_root->append_child( lo_element ).
+ lo_sub_element->set_value( value = <fs_sheet_string>-string_value ).
+ lo_element->append_child( new_child = lo_sub_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDLOOP.
**********************************************************************
@@ -1145,10 +1145,10 @@ endmethod.
endmethod.
-
-
-
-
+
+
+
+
method CREATE_XL_SHEET.
**********************************************************************
* abap2xlsx
@@ -1187,6 +1187,7 @@ endmethod.
lc_xml_node_sheetviews TYPE string VALUE 'sheetViews',
lc_xml_node_sheetview TYPE string VALUE 'sheetView',
lc_xml_node_selection TYPE string VALUE 'selection',
+ lc_xml_node_pane TYPE string VALUE 'pane',
lc_xml_node_sheetformatpr TYPE string VALUE 'sheetFormatPr',
lc_xml_node_cols TYPE string VALUE 'cols',
lc_xml_node_col TYPE string VALUE 'col',
@@ -1285,7 +1286,10 @@ endmethod.
ls_percent_val TYPE string,
lv_cell_row_s TYPE string,
ls_last_row TYPE zexcel_s_cell_data,
- ls_style_mapping TYPE zexcel_s_styles_mapping.
+ ls_style_mapping TYPE zexcel_s_styles_mapping,
+ 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.
DATA: default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
@@ -1346,17 +1350,17 @@ endmethod.
lo_element_2->set_attribute_ns( name = lc_xml_attr_summaryright
value = '1' ).
- lo_element->append_child( lo_element_2 ).
+ lo_element->append_child( new_child = lo_element_2 ).
" TODO pageSetUpPr
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" dimension node
lo_element = lo_document->create_simple_element( name = lc_xml_node_dimension
parent = lo_document ).
lv_value = io_worksheet->get_dimension_range( ).
lo_element->set_attribute_ns( name = lc_xml_attr_ref
value = lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" sheetViews node
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetviews
@@ -1377,6 +1381,43 @@ endmethod.
lo_element_2->set_attribute_ns( name = lc_xml_attr_showrowcolheaders
value = '1' ).
+ " freeze panes
+ io_worksheet->get_freeze_cell( IMPORTING ep_row = lv_freeze_cell_row
+ ep_column = lv_freeze_cell_column ).
+
+ IF lv_freeze_cell_row IS NOT INITIAL AND lv_freeze_cell_column IS NOT INITIAL.
+ lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_pane
+ parent = lo_element_2 ).
+
+ IF lv_freeze_cell_row > 1.
+ lv_value = lv_freeze_cell_row - 1.
+ CONDENSE lv_value.
+ lo_element_3->set_attribute_ns( name = 'ySplit'
+ value = lv_value ).
+ ENDIF.
+
+ IF lv_freeze_cell_column > 1.
+ lv_value = lv_freeze_cell_column - 1.
+ CONDENSE lv_value.
+ lo_element_3->set_attribute_ns( name = 'xSplit'
+ value = lv_value ).
+ ENDIF.
+
+ lv_freeze_cell_column_alpha = zcl_excel_common=>convert_column2alpha( ip_column = lv_freeze_cell_column ).
+ lv_value = zcl_excel_common=>number_to_excel_string( ip_value = lv_freeze_cell_row ).
+ CONCATENATE lv_freeze_cell_column_alpha lv_value INTO lv_value.
+ lo_element_3->set_attribute_ns( name = 'topLeftCell'
+ value = lv_value ).
+
+ lo_element_3->set_attribute_ns( name = 'activePane'
+ value = 'bottomRight' ).
+
+ lo_element_3->set_attribute_ns( name = 'state'
+ value = 'frozen' ).
+
+ lo_element_2->append_child( lo_element_3 ).
+ ENDIF.
+
" selection node
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_selection
parent = lo_document ).
@@ -1387,11 +1428,11 @@ endmethod.
lo_element_3->set_attribute_ns( name = lc_xml_attr_sqref
value = lv_value ).
- lo_element_2->append_child( lo_element_3 ). " sheetView node
+ lo_element_2->append_child( new_child = lo_element_3 ). " sheetView node
- lo_element->append_child( lo_element_2 ). " sheetView node
+ lo_element->append_child( new_child = lo_element_2 ). " sheetView node
- lo_element_root->append_child( lo_element ). " sheetViews node
+ lo_element_root->append_child( new_child = lo_element ). " sheetViews node
column_dimensions[] = io_worksheet->get_column_dimensions( ).
@@ -1446,7 +1487,7 @@ endmethod.
lo_element->set_attribute_ns( name = lc_xml_attr_outlinelevelcol
value = lv_value ).
- lo_element_root->append_child( lo_element ). " sheetFormatPr node
+ lo_element_root->append_child( new_child = lo_element ). " sheetFormatPr node
" cols node
IF NOT column_dimensions IS INITIAL.
lo_element = lo_document->create_simple_element( name = lc_xml_node_cols
@@ -1511,10 +1552,10 @@ endmethod.
lo_element_2->set_attribute_ns( name = lc_xml_attr_style
value = lv_value ).
- lo_element->append_child( lo_element_2 ). " col node
+ lo_element->append_child( new_child = lo_element_2 ). " col node
ENDLOOP.
ENDIF.
- lo_element_root->append_child( lo_element ). " cols node
+ lo_element_root->append_child( new_child = lo_element ). " cols node
" sheetData node
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetdata
parent = lo_document ).
@@ -1593,8 +1634,8 @@ endmethod.
lo_element_4 = lo_document->create_simple_element( name = lc_xml_node_f
parent = lo_document ).
lv_value = <ls_sheet_content>-cell_formula.
- lo_element_4->set_value( lv_value ).
- lo_element_3->append_child( lo_element_4 ). " fomula node
+ lo_element_4->set_value( value = lv_value ).
+ lo_element_3->append_child( new_child = lo_element_4 ). " fomula node
ELSE.
IF <ls_sheet_content>-data_type IS NOT INITIAL.
lo_element_3->set_attribute_ns( name = lc_xml_attr_t
@@ -1607,28 +1648,28 @@ endmethod.
IF <ls_sheet_content>-data_type EQ 's'.
lv_value = me->get_shared_string_index( <ls_sheet_content>-cell_value ).
- lo_element_4->set_value( lv_value ).
+ lo_element_4->set_value( value = lv_value ).
ELSE.
lv_value = <ls_sheet_content>-cell_value.
- lo_element_4->set_value( lv_value ).
+ lo_element_4->set_value( value = lv_value ).
ENDIF.
- lo_element_3->append_child( lo_element_4 ). " value node
+ lo_element_3->append_child( new_child = lo_element_4 ). " value node
ENDIF.
- lo_element_2->append_child( lo_element_3 ). " column node
+ lo_element_2->append_child( new_child = lo_element_3 ). " column node
IF ls_last_row-cell_row NE <ls_sheet_content>-cell_row.
- lo_element->append_child( lo_element_2 ). " row node
+ lo_element->append_child( new_child = lo_element_2 ). " row node
ls_last_row = <ls_sheet_content>.
ENDIF.
ENDLOOP.
- lo_element_root->append_child( lo_element ). " sheetData node
+ lo_element_root->append_child( new_child = lo_element ). " sheetData node
" Conditional formatting node
lo_iterator = io_worksheet->get_cond_styles_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_style_conditional ?= lo_iterator->get_next( ).
+ 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.
CONTINUE.
ENDIF.
@@ -1705,11 +1746,11 @@ endmethod.
value = 'percent' ).
lo_element_4->set_attribute_ns( name = lc_xml_attr_val
value = ls_percent_val ).
- lo_element_3->append_child( lo_element_4 ). " cfvo node
+ lo_element_3->append_child( new_child = lo_element_4 ). " cfvo node
ENDLOOP.
- lo_element_2->append_child( lo_element_3 ). " iconset node
+ lo_element_2->append_child( new_child = lo_element_3 ). " iconset node
WHEN zcl_excel_style_conditional=>c_rule_cellis.
lo_element_2->set_attribute_ns( name = lc_xml_attr_dxfid
value = '0' ). " @TODO <*****************************
@@ -1720,14 +1761,14 @@ endmethod.
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_formula
parent = lo_document ).
lv_value = lo_style_conditional->formula.
- lo_element_3->set_value( lv_value ).
- lo_element_2->append_child( lo_element_3 ). " formula node
+ lo_element_3->set_value( value = lv_value ).
+ lo_element_2->append_child( new_child = lo_element_3 ). " formula node
ENDCASE.
- lo_element->append_child( lo_element_2 ). " cfRule node
+ lo_element->append_child( new_child = lo_element_2 ). " cfRule node
- lo_element_root->append_child( lo_element ). " Conditional formatting node
+ lo_element_root->append_child( new_child = lo_element ). " Conditional formatting node
ENDWHILE.
@@ -1737,8 +1778,8 @@ endmethod.
parent = lo_document ).
" Conditional formatting node
lo_iterator = io_worksheet->get_data_validations_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_data_validation ?= lo_iterator->get_next( ).
+ WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lo_data_validation ?= lo_iterator->if_object_collection_iterator~get_next( ).
" dataValidation node
lo_element_2 = lo_document->create_simple_element( name = lc_xml_node_datavalidation
parent = lo_document ).
@@ -1776,13 +1817,13 @@ endmethod.
lo_element_3 = lo_document->create_simple_element( name = lc_xml_node_formula1
parent = lo_document ).
lv_value = lo_data_validation->value.
- lo_element_3->set_value( lv_value ).
+ lo_element_3->set_value( value = lv_value ).
- lo_element_2->append_child( lo_element_3 ). " formula1 node
+ lo_element_2->append_child( new_child = lo_element_3 ). " formula1 node
- lo_element->append_child( lo_element_2 ). " dataValidation node
+ lo_element->append_child( new_child = lo_element_2 ). " dataValidation node
ENDWHILE.
- lo_element_root->append_child( lo_element ). " dataValidations node
+ lo_element_root->append_child( new_child = lo_element ). " dataValidations node
ENDIF.
t_range_merge = io_worksheet->get_merge( ).
@@ -1797,8 +1838,8 @@ endmethod.
lo_element_2->set_attribute_ns( name = lc_xml_attr_ref
value = <fs_range_merge> ).
- lo_element->append_child( lo_element_2 ).
- lo_element_root->append_child( lo_element ).
+ lo_element->append_child( new_child = lo_element_2 ).
+ lo_element_root->append_child( new_child = lo_element ).
io_worksheet->delete_merge( ).
ENDLOOP.
ENDIF.
@@ -1819,7 +1860,7 @@ endmethod.
value = '0.3' ). " @TODO <*****************************
lo_element->set_attribute_ns( name = lc_xml_attr_footer
value = '0.3' ). " @TODO <*****************************
- lo_element_root->append_child( lo_element ). " sheetFormatPr node
+ lo_element_root->append_child( new_child = lo_element ). " sheetFormatPr node
* tables
DATA lv_table_count TYPE i.
@@ -1835,8 +1876,8 @@ endmethod.
lv_table_count = 0.
lo_iterator = io_worksheet->get_tables_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_table ?= lo_iterator->get_next( ).
+ WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lo_table ?= lo_iterator->if_object_collection_iterator~get_next( ).
add 1 to lv_table_count.
lv_value = lv_table_count.
@@ -1846,11 +1887,11 @@ endmethod.
parent = lo_element ).
lo_element_2->set_attribute_ns( name = 'r:id'
value = lv_value ).
- lo_element->append_child( lo_element_2 ).
+ lo_element->append_child( new_child = lo_element_2 ).
ENDWHILE.
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDIF.
@@ -1863,9 +1904,9 @@ endmethod.
endmethod.
-
-
-
+
+
+
method CREATE_XL_SHEET_RELS.
@@ -1919,8 +1960,8 @@ endmethod.
" Add sheet Relationship nodes here
lv_counter = 0.
lo_iterator = io_worksheet->get_tables_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_table ?= lo_iterator->get_next( ).
+ WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lo_table ?= lo_iterator->if_object_collection_iterator~get_next( ).
ADD 1 TO lv_counter.
lv_value = lv_counter.
@@ -1938,7 +1979,7 @@ endmethod.
CONCATENATE '../tables/' lv_value '.xml' INTO lv_value.
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
ENDWHILE.
**********************************************************************
@@ -1950,9 +1991,9 @@ endmethod.
endmethod.
-
-
- METHOD create_xl_styles.
+
+
+ method CREATE_XL_STYLES.
** Constant node name
@@ -2123,8 +2164,8 @@ endmethod.
* Compress styles
lo_iterator = excel->get_styles_iterator( ).
- WHILE lo_iterator->has_next( ) EQ abap_true.
- lo_style ?= lo_iterator->get_next( ).
+ WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lo_style ?= lo_iterator->if_object_collection_iterator~get_next( ).
ls_font = lo_style->font->get_structure( ).
ls_fill = lo_style->fill->get_structure( ).
ls_border = lo_style->borders->get_structure( ).
@@ -2235,7 +2276,7 @@ endmethod.
lv_value = ls_numfmt-numfmt.
lo_element_numfmt->set_attribute_ns( name = lc_xml_attr_formatcode
value = lv_value ).
- lo_element_numfmts->append_child( lo_element_numfmt ).
+ lo_element_numfmts->append_child( new_child = lo_element_numfmt ).
ENDLOOP.
" create font elements
@@ -2245,12 +2286,12 @@ endmethod.
IF ls_font-bold EQ abap_true.
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_b
parent = lo_document ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
ENDIF.
IF ls_font-italic EQ abap_true.
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_i
parent = lo_document ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
ENDIF.
IF ls_font-underline EQ abap_true.
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_u
@@ -2258,12 +2299,12 @@ endmethod.
lv_value = ls_font-underline_mode.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
ENDIF.
IF ls_font-strikethrough EQ abap_true.
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_strike
parent = lo_document ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
ENDIF.
"size
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_sz
@@ -2273,21 +2314,21 @@ endmethod.
SHIFT lv_value LEFT DELETING LEADING space.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
"color
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_color
parent = lo_document ).
lv_value = ls_font-color.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
"name
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_name
parent = lo_document ).
lv_value = ls_font-name.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
"family
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_family
parent = lo_document ).
@@ -2296,15 +2337,15 @@ endmethod.
SHIFT lv_value LEFT DELETING LEADING space.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
"scheme
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_scheme
parent = lo_document ).
lv_value = ls_font-scheme.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_val
value = lv_value ).
- lo_element_font->append_child( lo_sub_element ).
- lo_element_fonts->append_child( lo_element_font ).
+ lo_element_font->append_child( new_child = lo_sub_element ).
+ lo_element_fonts->append_child( new_child = lo_element_font ).
APPEND ls_font-color TO lt_colors.
ENDLOOP.
@@ -2326,7 +2367,7 @@ endmethod.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." fgcolor
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." fgcolor
ENDIF.
" bgcolor
IF ls_fill-bgcolor IS NOT INITIAL.
@@ -2336,11 +2377,11 @@ endmethod.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_indexed
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." bgcolor
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." bgcolor
ENDIF.
- lo_element_fill->append_child( lo_sub_element )."pattern
- lo_element_fills->append_child( lo_element_fill ).
+ lo_element_fill->append_child( new_child = lo_sub_element )."pattern
+ lo_element_fills->append_child( new_child = lo_element_fill ).
" Collect color
IF ls_fill-fgcolor IS NOT INITIAL.
APPEND ls_fill-fgcolor TO lt_colors.
@@ -2365,11 +2406,11 @@ endmethod.
lv_value = ls_border-left_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color
* Collect color
APPEND ls_border-left_color TO lt_colors.
ENDIF.
- lo_element_border->append_child( lo_sub_element ).
+ lo_element_border->append_child( new_child = lo_sub_element ).
"right
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_right
@@ -2385,11 +2426,11 @@ endmethod.
lv_value = ls_border-right_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color
* Collect color
APPEND ls_border-right_color TO lt_colors.
ENDIF.
- lo_element_border->append_child( lo_sub_element ).
+ lo_element_border->append_child( new_child = lo_sub_element ).
"top
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_top
@@ -2405,11 +2446,11 @@ endmethod.
lv_value = ls_border-top_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color
* Collect color
APPEND ls_border-top_color TO lt_colors.
ENDIF.
- lo_element_border->append_child( lo_sub_element ).
+ lo_element_border->append_child( new_child = lo_sub_element ).
"bottom
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_bottom
@@ -2425,11 +2466,11 @@ endmethod.
lv_value = ls_border-bottom_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color
* Collect color
APPEND ls_border-bottom_color TO lt_colors.
ENDIF.
- lo_element_border->append_child( lo_sub_element ).
+ lo_element_border->append_child( new_child = lo_sub_element ).
"diagonal
lo_sub_element = lo_document->create_simple_element( name = lc_xml_node_diagonal
@@ -2445,12 +2486,12 @@ endmethod.
lv_value = ls_border-diagonal_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color
* Collect color
APPEND ls_border-diagonal_color TO lt_colors.
ENDIF.
- lo_element_border->append_child( lo_sub_element ).
- lo_element_borders->append_child( lo_element_border ).
+ lo_element_border->append_child( new_child = lo_sub_element ).
+ lo_element_borders->append_child( new_child = lo_element_border ).
ENDLOOP.
" update attribute "count"
@@ -2480,10 +2521,10 @@ endmethod.
value = lv_value ).
" Append to root node
- lo_element_root->append_child( lo_element_numfmts ).
- lo_element_root->append_child( lo_element_fonts ).
- lo_element_root->append_child( lo_element_fills ).
- lo_element_root->append_child( lo_element_borders ).
+ lo_element_root->append_child( new_child = lo_element_numfmts ).
+ lo_element_root->append_child( new_child = lo_element_fonts ).
+ lo_element_root->append_child( new_child = lo_element_fills ).
+ lo_element_root->append_child( new_child = lo_element_borders ).
" cellstylexfs node
lo_element = lo_document->create_simple_element( name = lc_xml_node_cellstylexfs
@@ -2502,8 +2543,8 @@ endmethod.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_borderid
value = lc_off ).
- lo_element->append_child( lo_sub_element ).
- lo_element_root->append_child( lo_element ).
+ lo_element->append_child( new_child = lo_sub_element ).
+ lo_element_root->append_child( new_child = lo_element ).
LOOP AT lt_cellxfs INTO ls_cellxfs.
lo_element = lo_document->create_simple_element( name = lc_xml_node_xf
@@ -2605,12 +2646,12 @@ endmethod.
value = lv_value ).
ENDIF.
- lo_element->append_child( lo_sub_element_2 ).
+ lo_element->append_child( new_child = lo_sub_element_2 ).
ENDIF.
- lo_element_cellxfs->append_child( lo_element ).
+ lo_element_cellxfs->append_child( new_child = lo_element ).
ENDLOOP.
- lo_element_root->append_child( lo_element_cellxfs ).
+ lo_element_root->append_child( new_child = lo_element_cellxfs ).
" cellStyles node
lo_element = lo_document->create_simple_element( name = lc_xml_node_cellstyles
@@ -2627,15 +2668,15 @@ endmethod.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_builtinid
value = lc_off ).
- lo_element->append_child( lo_sub_element ).
- lo_element_root->append_child( lo_element ).
+ lo_element->append_child( new_child = lo_sub_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" dxfs node
lo_element = lo_document->create_simple_element( name = lc_xml_node_dxfs
parent = lo_document ).
lo_element->set_attribute_ns( name = lc_xml_attr_count
value = '0' ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" tableStyles node
lo_element = lo_document->create_simple_element( name = lc_xml_node_tablestyles
@@ -2646,7 +2687,7 @@ endmethod.
value = zcl_excel_table=>builtinstyle_medium9 ).
lo_element->set_attribute_ns( name = lc_xml_attr_defaultpivotstyle
value = zcl_excel_table=>builtinstyle_pivot_light16 ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" colors node
lo_element = lo_document->create_simple_element( name = lc_xml_node_colors
@@ -2665,11 +2706,11 @@ endmethod.
lv_value = ls_color.
lo_sub_element_2->set_attribute_ns( name = lc_xml_attr_rgb
value = lv_value ).
- lo_sub_element->append_child( lo_sub_element_2 )." color node
+ lo_sub_element->append_child( new_child = lo_sub_element_2 )." color node
ENDLOOP.
- lo_element->append_child( lo_sub_element )." mruColors node
- lo_element_root->append_child( lo_element )." colors node
+ lo_element->append_child( new_child = lo_sub_element )." mruColors node
+ lo_element_root->append_child( new_child = lo_element )." colors node
**********************************************************************
* STEP 5: Create xstring stream
@@ -2678,12 +2719,12 @@ endmethod.
lo_renderer = lo_ixml->create_renderer( ostream = lo_ostream document = lo_document ).
lo_renderer->render( ).
-ENDMETHOD.
+endmethod.
-
-
-
- METHOD create_xl_table.
+
+
+
+ method CREATE_XL_TABLE.
DATA: lc_xml_node_table TYPE string VALUE 'table',
lc_xml_node_relationship TYPE string VALUE 'Relationship',
@@ -2772,7 +2813,7 @@ ENDMETHOD.
lo_element->set_attribute_ns( name = 'ref'
value = lv_ref ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
"columns
lo_element = lo_document->create_simple_element( name = 'tableColumns'
@@ -2788,7 +2829,7 @@ ENDMETHOD.
lo_element->set_attribute_ns( name = 'count'
value = lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
LOOP AT io_table->fieldcat INTO ls_fieldcat WHERE dynpfld = abap_true.
lo_element2 = lo_document->create_simple_element_ns( name = 'tableColumn'
@@ -2807,7 +2848,7 @@ ENDMETHOD.
value = ls_fieldcat-totals_function ).
ENDIF.
- lo_element->append_child( lo_element2 ).
+ lo_element->append_child( new_child = lo_element2 ).
ENDLOOP.
@@ -2841,7 +2882,7 @@ ENDMETHOD.
lo_element->set_attribute_ns( name = 'showColumnStripes'
value = lv_value ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
* STEP 5: Create xstring stream
lo_streamfactory = lo_ixml->create_stream_factory( ).
@@ -2849,10 +2890,10 @@ ENDMETHOD.
lo_renderer = lo_ixml->create_renderer( ostream = lo_ostream document = lo_document ).
lo_renderer->render( ).
-ENDMETHOD.
+endmethod.
-
-
+
+
method CREATE_XL_THEME.
@@ -2940,8 +2981,8 @@ ENDMETHOD.
endmethod.
-
-
+
+
method CREATE_XL_WORKBOOK.
@@ -3028,14 +3069,14 @@ endmethod.
value = '4' ).
lo_element->set_attribute_ns( name = lc_xml_attr_rupbuild
value = '4506' ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" fileVersion node
lo_element = lo_document->create_simple_element( name = lc_xml_node_workbookpr
parent = lo_document ).
lo_element->set_attribute_ns( name = lc_xml_attr_themeversion
value = '124226' ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
" bookviews node
lo_element = lo_document->create_simple_element( name = lc_xml_node_bookviews
@@ -3051,8 +3092,8 @@ endmethod.
value = '19035' ).
lo_sub_element->set_attribute_ns( name = lc_xml_attr_windowheight
value = '8445' ).
- lo_element->append_child( lo_sub_element )." bookview node
- lo_element_root->append_child( lo_element )." bookviews node
+ lo_element->append_child( new_child = lo_sub_element )." bookview node
+ lo_element_root->append_child( new_child = lo_element )." bookviews node
" sheets node
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheets
@@ -3077,9 +3118,9 @@ endmethod.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_id
prefix = lc_r_ns
value = lv_xml_node_ridx_id ).
- lo_element->append_child( lo_sub_element ). " sheet node
+ lo_element->append_child( new_child = lo_sub_element ). " sheet node
ENDWHILE.
- lo_element_root->append_child( lo_element )." sheets node
+ lo_element_root->append_child( new_child = lo_element )." sheets node
" ranges node
@@ -3096,17 +3137,17 @@ endmethod.
lo_sub_element->set_attribute_ns( name = lc_xml_attr_name
value = lv_value ).
lv_value = lo_range->get_value( ).
- lo_sub_element->set_value( lv_value ).
- lo_element->append_child( lo_sub_element ). " range node
+ lo_sub_element->set_value( value = lv_value ).
+ lo_element->append_child( new_child = lo_sub_element ). " range node
ENDWHILE.
- lo_element_root->append_child( lo_element )." ranges node
+ lo_element_root->append_child( new_child = lo_element )." ranges node
" calcPr node
lo_element = lo_document->create_simple_element( name = lc_xml_node_calcpr
parent = lo_document ).
lo_element->set_attribute_ns( name = lc_xml_attr_calcid
value = '125725' ).
- lo_element_root->append_child( lo_element ).
+ lo_element_root->append_child( new_child = lo_element ).
**********************************************************************
@@ -3118,9 +3159,9 @@ endmethod.
endmethod.
-
-
-
+
+
+
method FLAG2BOOL.
@@ -3131,9 +3172,9 @@ endmethod.
ENDIF.
endmethod.
-
-
-
+
+
+
method GET_SHARED_STRING_INDEX.
diff --git a/ZA2X/PROG/ZDEMO_EXCEL15.slnk b/ZA2X/PROG/ZDEMO_EXCEL15.slnk
index 3859adb..4024b97 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL15.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL15.slnk
@@ -1,5 +1,5 @@
-
-
+
+
@@ -15,8 +15,9 @@
REPORT zdemo_excel15.
-DATA: excel TYPE REF TO zcl_excel,
- reader TYPE REF TO zif_excel_reader.
+DATA: excel TYPE REF TO zcl_excel,
+ lo_excel_writer TYPE REF TO zif_excel_writer,
+ reader TYPE REF TO zif_excel_reader.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
@@ -25,7 +26,9 @@ DATA: lv_file TYPE xstring,
TRY.
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
excel = reader->load_file( 'C:\iTab.xlsx' ).
- lv_file = excel->save_as( zcl_excel=>c_xlsx ).
+
+ CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
+ lv_file = lo_excel_writer->write_file( excel ).
" Convert to binary
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
diff --git a/ZA2X/PROG/ZDEMO_EXCEL3.slnk b/ZA2X/PROG/ZDEMO_EXCEL3.slnk
index e2b6025..47c2b45 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL3.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL3.slnk
@@ -38,10 +38,12 @@ ls_table_settings-show_row_stripes = abap_true.
lo_worksheet->bind_table( ip_table = lt_test
is_table_settings = ls_table_settings ).
+lo_worksheet->freeze_panes( ip_num_rows = 3 ). "freeze column headers when scrolling
+
column_dimension = lo_worksheet->get_column_dimension( 'E' ). "make date field a bit wider
column_dimension->set_width( 11 ).
-create object lo_excel_writer type zcl_excel_writer_2007.
+CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer->write_file( lo_excel ).
" Convert to binary