Reader fails for workbook with chart (#910)

* Reader fails for workbook with chart

fix #790

* pretty printer

Co-authored-by: sandraros <sandra.rossi@gmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
sandraros 2021-12-12 13:21:01 +01:00 committed by GitHub
parent 6532e0e0b5
commit cb315c5572
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -825,8 +825,10 @@ CLASS zcl_excel_drawing IMPLEMENTATION.
node ?= node->find_from_name( name = 'lineChart' namespace = 'c' ).
node2 ?= node->find_from_name( name = 'marker' namespace = 'c' depth = '1' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_markerval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_markerval = ls_prop-val.
ENDIF.
node2 ?= node->find_from_name( name = 'smooth' namespace = 'c' depth = '1' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_smoothval = ls_prop-val.
@ -973,25 +975,37 @@ CLASS zcl_excel_drawing IMPLEMENTATION.
CASE me->graph_type.
WHEN c_graph_bars.
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_barchart->ns_legendposval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_barchart->ns_legendposval = ls_prop-val.
ENDIF.
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_barchart->ns_overlayval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_barchart->ns_overlayval = ls_prop-val.
ENDIF.
WHEN c_graph_line.
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_legendposval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_legendposval = ls_prop-val.
ENDIF.
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_overlayval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_linechart->ns_overlayval = ls_prop-val.
ENDIF.
WHEN c_graph_pie.
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_piechart->ns_legendposval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_piechart->ns_legendposval = ls_prop-val.
ENDIF.
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_piechart->ns_overlayval = ls_prop-val.
IF node2 IS BOUND.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_piechart->ns_overlayval = ls_prop-val.
ENDIF.
node2 ?= node->find_from_name( name = 'pPr' namespace = 'a' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
lo_piechart->ns_pprrtl = ls_prop-rtl.