diff --git a/ZA2X/CLAS/ZCL_EXCEL_DRAWING.slnk b/ZA2X/CLAS/ZCL_EXCEL_DRAWING.slnk
index f2ed395..b86eab9 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_DRAWING.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_DRAWING.slnk
@@ -22,6 +22,9 @@ public section.
constants ANCHOR_ONE_CELL type ZEXCEL_DRAWING_ANCHOR value 'ONE'. "#EC NOTEXT
constants ANCHOR_TWO_CELL type ZEXCEL_DRAWING_ANCHOR value 'TWO'. "#EC NOTEXT
data GRAPH type ref to ZCL_EXCEL_GRAPH .
+ constants C_MEDIA_TYPE_BMP type STRING value 'bmp'. "#EC NOTEXT
+ constants C_MEDIA_TYPE_XML type STRING value 'xml'. "#EC NOTEXT
+ constants C_MEDIA_TYPE_JPG type STRING value 'jpg'. "#EC NOTEXT
methods CONSTRUCTOR
importing
@@ -71,10 +74,10 @@ public section.
value(R_EMU) type INT4 .
methods SET_MEDIA
importing
- !IP_MEDIA type XSTRING
+ !IP_MEDIA type XSTRING optional
!IP_MEDIA_TYPE type STRING
- !IP_WIDTH type INT4
- !IP_HEIGHT type INT4 .
+ !IP_WIDTH type INT4 default 0
+ !IP_HEIGHT type INT4 default 0 .
methods SET_MEDIA_MIME
importing
!IP_IO type SKWF_IO
@@ -150,6 +153,9 @@ protected section.
+
+
+
@@ -436,6 +442,13 @@ endmethod.
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
me->graph->ns_roundedcornersval = ls_prop-val.
+ "style
+ node2 ?= node->find_from_name( name = 'style' namespace = 'c14' ).
+ zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
+ me->graph->ns_c14styleval = ls_prop-val.
+ node2 ?= node->find_from_name( name = 'style' namespace = 'c' ).
+ zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
+ me->graph->ns_styleval = ls_prop-val.
"---------------------------Read graph properties
node2 ?= node->find_from_name( name = 'autoTitleDeleted' namespace = 'c' ).
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
@@ -803,17 +816,23 @@ ENDMETHOD.
endmethod.
-
+
-
-
- method SET_MEDIA.
- media = ip_media.
+
+
+ METHOD set_media.
+ IF ip_media IS SUPPLIED.
+ media = ip_media.
+ ENDIF.
media_type = ip_media_type.
media_source = c_media_source_xstring.
- size-width = ip_width.
- size-height = ip_height.
-endmethod.
+ IF ip_width IS SUPPLIED.
+ size-width = ip_width.
+ ENDIF.
+ IF ip_height IS SUPPLIED.
+ size-height = ip_height.
+ ENDIF.
+ENDMETHOD.
diff --git a/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk b/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk
index e81127c..1f14b74 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk
@@ -1,24 +1,29 @@
-
-
-
+ class ZCL_EXCEL_GRAPH definition
public
@@ -28,26 +33,31 @@ public section.
*"* public components of class ZCL_EXCEL_GRAPH
*"* do not include other source files here!!!
+ types:
+ BEGIN OF s_style,
+ c14style type i,
+ cstyle type i,
+ end of s_style .
types:
BEGIN OF s_series,
- idx TYPE i,
- order TYPE i,
- invertIfNegative TYPE string,
- lbl TYPE string,
- ref TYPE string,
- sername TYPE string,
- END OF s_series .
+ idx TYPE i,
+ order TYPE i,
+ invertifnegative TYPE string,
+ lbl TYPE string,
+ ref TYPE string,
+ sername TYPE string,
+ END OF s_series .
types:
t_series TYPE STANDARD TABLE OF s_series .
types:
BEGIN OF s_pagemargins,
- b TYPE string,
- l TYPE string,
- r TYPE string,
- t TYPE string,
- header TYPE string,
- footer TYPE string,
- END OF s_pagemargins .
+ b TYPE string,
+ l TYPE string,
+ r TYPE string,
+ t TYPE string,
+ header TYPE string,
+ footer TYPE string,
+ END OF s_pagemargins .
data NS_1904VAL type STRING value '0'. "#EC NOTEXT .
data NS_LANGVAL type STRING value 'it-IT'. "#EC NOTEXT .
@@ -58,16 +68,270 @@ public section.
data NS_DISPBLANKSASVAL type STRING value 'gap'. "#EC NOTEXT .
data NS_SHOWDLBLSOVERMAXVAL type STRING value '0'. "#EC NOTEXT .
data SERIES type T_SERIES .
+ data NS_C14STYLEVAL type STRING value '102'. "#EC NOTEXT .
+ data NS_STYLEVAL type STRING value '2'. "#EC NOTEXT .
+ constants:
+ BEGIN OF c_style_default,
+ c14style type i value '102',
+ cstyle type i value '2',
+ END OF c_style_default .
+ constants:
+ BEGIN OF c_style_1,
+ c14style type i value '101',
+ cstyle type i value '1',
+ END OF c_style_1 .
+ constants:
+ BEGIN OF c_style_3,
+ c14style type i value '103',
+ cstyle type i value '3',
+ END OF c_style_3 .
+ constants:
+ BEGIN OF c_style_4,
+ c14style type i value '104',
+ cstyle type i value '4',
+ END OF c_style_4 .
+ constants:
+ BEGIN OF c_style_5,
+ c14style type i value '105',
+ cstyle type i value '5',
+ END OF c_style_5 .
+ constants:
+ BEGIN OF c_style_6,
+ c14style type i value '106',
+ cstyle type i value '6',
+ END OF c_style_6 .
+ constants:
+ BEGIN OF c_style_7,
+ c14style type i value '107',
+ cstyle type i value '7',
+ END OF c_style_7 .
+ constants:
+ BEGIN OF c_style_8,
+ c14style type i value '108',
+ cstyle type i value '8',
+ END OF c_style_8 .
+ constants:
+ BEGIN OF c_style_9,
+ c14style type i value '109',
+ cstyle type i value '9',
+ END OF c_style_9 .
+ constants:
+ BEGIN OF c_style_10,
+ c14style type i value '110',
+ cstyle type i value '10',
+ END OF c_style_10 .
+ constants:
+ BEGIN OF c_style_11,
+ c14style type i value '111',
+ cstyle type i value '11',
+ END OF c_style_11 .
+ constants:
+ BEGIN OF c_style_12,
+ c14style type i value '112',
+ cstyle type i value '12',
+ END OF c_style_12 .
+ constants:
+ BEGIN OF c_style_13,
+ c14style type i value '113',
+ cstyle type i value '13',
+ END OF c_style_13 .
+ constants:
+ BEGIN OF c_style_14,
+ c14style type i value '114',
+ cstyle type i value '14',
+ END OF c_style_14 .
+ constants:
+ BEGIN OF c_style_15,
+ c14style type i value '115',
+ cstyle type i value '15',
+ END OF c_style_15 .
+ constants:
+ BEGIN OF c_style_16,
+ c14style type i value '116',
+ cstyle type i value '16',
+ END OF c_style_16 .
+ constants:
+ BEGIN OF c_style_17,
+ c14style type i value '117',
+ cstyle type i value '17',
+ END OF c_style_17 .
+ constants:
+ BEGIN OF c_style_18,
+ c14style type i value '118',
+ cstyle type i value '18',
+ END OF c_style_18 .
+ constants:
+ BEGIN OF c_style_19,
+ c14style type i value '119',
+ cstyle type i value '19',
+ END OF c_style_19 .
+ constants:
+ BEGIN OF c_style_20,
+ c14style type i value '120',
+ cstyle type i value '20',
+ END OF c_style_20 .
+ constants:
+ BEGIN OF c_style_21,
+ c14style type i value '121',
+ cstyle type i value '21',
+ END OF c_style_21 .
+ constants:
+ BEGIN OF c_style_22,
+ c14style type i value '122',
+ cstyle type i value '22',
+ END OF c_style_22 .
+ constants:
+ BEGIN OF c_style_23,
+ c14style type i value '123',
+ cstyle type i value '23',
+ END OF c_style_23 .
+ constants:
+ BEGIN OF c_style_24,
+ c14style type i value '124',
+ cstyle type i value '24',
+ END OF c_style_24 .
+ constants:
+ BEGIN OF c_style_25,
+ c14style type i value '125',
+ cstyle type i value '25',
+ END OF c_style_25 .
+ constants:
+ BEGIN OF c_style_26,
+ c14style type i value '126',
+ cstyle type i value '26',
+ END OF c_style_26 .
+ constants:
+ BEGIN OF c_style_27,
+ c14style type i value '127',
+ cstyle type i value '27',
+ END OF c_style_27 .
+ constants:
+ BEGIN OF c_style_28,
+ c14style type i value '128',
+ cstyle type i value '28',
+ END OF c_style_28 .
+ constants:
+ BEGIN OF c_style_29,
+ c14style type i value '129',
+ cstyle type i value '29',
+ END OF c_style_29 .
+ constants:
+ BEGIN OF c_style_30,
+ c14style type i value '130',
+ cstyle type i value '30',
+ END OF c_style_30 .
+ constants:
+ BEGIN OF c_style_31,
+ c14style type i value '131',
+ cstyle type i value '31',
+ END OF c_style_31 .
+ constants:
+ BEGIN OF c_style_32,
+ c14style type i value '132',
+ cstyle type i value '32',
+ END OF c_style_32 .
+ constants:
+ BEGIN OF c_style_33,
+ c14style type i value '133',
+ cstyle type i value '33',
+ END OF c_style_33 .
+ constants:
+ BEGIN OF c_style_34,
+ c14style type i value '134',
+ cstyle type i value '34',
+ END OF c_style_34 .
+ constants:
+ BEGIN OF c_style_35,
+ c14style type i value '135',
+ cstyle type i value '35',
+ END OF c_style_35 .
+ constants:
+ BEGIN OF c_style_36,
+ c14style type i value '136',
+ cstyle type i value '36',
+ END OF c_style_36 .
+ constants:
+ BEGIN OF c_style_37,
+ c14style type i value '137',
+ cstyle type i value '37',
+ END OF c_style_37 .
+ constants:
+ BEGIN OF c_style_38,
+ c14style type i value '138',
+ cstyle type i value '38',
+ END OF c_style_38 .
+ constants:
+ BEGIN OF c_style_39,
+ c14style type i value '139',
+ cstyle type i value '39',
+ END OF c_style_39 .
+ constants:
+ BEGIN OF c_style_40,
+ c14style type i value '140',
+ cstyle type i value '40',
+ END OF c_style_40 .
+ constants:
+ BEGIN OF c_style_41,
+ c14style type i value '141',
+ cstyle type i value '41',
+ END OF c_style_41 .
+ constants:
+ BEGIN OF c_style_42,
+ c14style type i value '142',
+ cstyle type i value '42',
+ END OF c_style_42 .
+ constants:
+ BEGIN OF c_style_43,
+ c14style type i value '143',
+ cstyle type i value '43',
+ END OF c_style_43 .
+ constants:
+ BEGIN OF c_style_44,
+ c14style type i value '144',
+ cstyle type i value '44',
+ END OF c_style_44 .
+ constants:
+ BEGIN OF c_style_45,
+ c14style type i value '145',
+ cstyle type i value '45',
+ END OF c_style_45 .
+ constants:
+ BEGIN OF c_style_46,
+ c14style type i value '146',
+ cstyle type i value '46',
+ END OF c_style_46 .
+ constants:
+ BEGIN OF c_style_47,
+ c14style type i value '147',
+ cstyle type i value '47',
+ END OF c_style_47 .
+ constants:
+ BEGIN OF c_style_48,
+ c14style type i value '148',
+ cstyle type i value '48',
+ END OF c_style_48 .
methods CONSTRUCTOR .
methods CREATE_SERIE
importing
- !IP_IDX type I
+ !IP_IDX type I optional
!IP_ORDER type I
!IP_INVERTIFNEGATIVE type STRING optional
- !IP_LBL type STRING
- !IP_REF type STRING
- !IP_SERNAME type STRING .
+ !IP_LBL_FROM_COL type STRING optional
+ !IP_LBL_FROM_ROW type STRING optional
+ !IP_LBL_TO_COL type STRING optional
+ !IP_LBL_TO_ROW type STRING optional
+ !IP_LBL type STRING optional
+ !IP_REF_FROM_COL type STRING optional
+ !IP_REF_FROM_ROW type STRING optional
+ !IP_REF_TO_COL type STRING optional
+ !IP_REF_TO_ROW type STRING optional
+ !IP_REF type STRING optional
+ !IP_SERNAME type STRING
+ !IP_SHEET type STRING optional .
+ methods SET_STYLE
+ importing
+ !IP_STYLE type S_STYLE .
protected section.
*"* protected components of class ZCL_EXCEL_GRAPH
*"* do not include other source files here!!!
@@ -82,13 +346,255 @@ public section.
*"* components in the private section
*"* use this source file for any macro definitions you need
*"* in the implementation part of the class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -103,22 +609,49 @@ public section.
endmethod.
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ METHOD create_serie.
DATA ls_serie TYPE s_series.
+
+ IF ip_lbl IS NOT SUPPLIED.
+ CONCATENATE ip_sheet '!$' ip_lbl_from_col '$' ip_lbl_from_row ':$' ip_lbl_to_col '$' ip_lbl_to_row INTO ls_serie-lbl.
+ ELSE.
+ ls_serie-lbl = ip_lbl.
+ ENDIF.
+ IF ip_ref IS NOT SUPPLIED.
+ CONCATENATE ip_sheet '!$' ip_ref_from_col '$' ip_ref_from_row ':$' ip_ref_to_col '$' ip_ref_to_row INTO ls_serie-ref.
+ ELSE.
+ ls_serie-ref = ip_ref.
+ ENDIF.
ls_serie-idx = ip_idx.
ls_serie-order = ip_order.
- ls_serie-invertIfNegative = ip_invertIfNegative.
- ls_serie-lbl = ip_lbl.
- ls_serie-ref = ip_ref.
+ ls_serie-invertifnegative = ip_invertifnegative.
ls_serie-sername = ip_sername.
APPEND ls_serie TO me->series.
SORT me->series BY order ASCENDING.
+ENDMETHOD.
+
+
+
+ METHOD set_style.
+ me->ns_c14styleval = ip_style-c14style.
+ CONDENSE me->ns_c14styleval NO-GAPS.
+ me->ns_styleval = ip_style-cstyle.
+ CONDENSE me->ns_styleval NO-GAPS.
ENDMETHOD.
diff --git a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk
index 71822e9..33ac340 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk
@@ -66,10 +66,14 @@ public section.
data NS_SHOWBUBBLESIZEVAL type STRING value '0'. "#EC NOTEXT .
data NS_GAPWIDTHVAL type STRING value '150'. "#EC NOTEXT .
data AXES type T_AX .
- constants C_VALAX type CHAR5 value 'VALAX'. "#EC NOTEXT
- constants C_CATAX type CHAR5 value 'CATAX'. "#EC NOTEXT
+ constants:
+ C_VALAX type c length 5 value 'VALAX'. "#EC NOTEXT
+ constants:
+ C_CATAX type c length 5 value 'CATAX'. "#EC NOTEXT
data NS_LEGENDPOSVAL type STRING value 'r'. "#EC NOTEXT .
data NS_OVERLAYVAL type STRING value '0'. "#EC NOTEXT .
+ constants C_INVERTIFNEGATIVE_YES type STRING value '1'. "#EC NOTEXT
+ constants C_INVERTIFNEGATIVE_NO type STRING value '0'. "#EC NOTEXT
methods CREATE_AX
importing
@@ -105,8 +109,12 @@ public section.
*"* use this source file for any macro definitions you need
*"* in the implementation part of the class
-
-
+
+
+
+
diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
index d40abdc..427a6d2 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk
@@ -1103,10 +1103,8 @@ endmethod.
lc_xml_node_choice_ns_requires TYPE string VALUE 'c14',
lc_xml_node_choice_ns_c14 TYPE string VALUE 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart',
lc_xml_node_style TYPE string VALUE 'c14:style',
- lc_xml_node_style_ns_val TYPE string VALUE '102',
lc_xml_node_fallback TYPE string VALUE 'mc:Fallback',
lc_xml_node_style2 TYPE string VALUE 'c:style',
- lc_xml_node_style2_ns_val TYPE string VALUE '2',
"---------------------------CHART
lc_xml_node_chart TYPE string VALUE 'c:chart',
@@ -1287,7 +1285,7 @@ endmethod.
lo_element3 = lo_document->create_simple_element( name = lc_xml_node_style
parent = lo_element2 ).
lo_element3->set_attribute_ns( name = 'val'
- value = lc_xml_node_style_ns_val ).
+ value = lo_chart->ns_c14styleval ).
"Fallback
lo_element2 = lo_document->create_simple_element( name = lc_xml_node_fallback
@@ -1297,7 +1295,7 @@ endmethod.
lo_element3 = lo_document->create_simple_element( name = lc_xml_node_style2
parent = lo_element2 ).
lo_element3->set_attribute_ns( name = 'val'
- value = lc_xml_node_style2_ns_val ).
+ value = lo_chart->ns_styleval ).
"---------------------------CHART
lo_element = lo_document->create_simple_element( name = lc_xml_node_chart
@@ -1336,7 +1334,11 @@ endmethod.
parent = lo_element3 ).
lo_element5 = lo_document->create_simple_element( name = lc_xml_node_idx
parent = lo_element4 ).
- lv_str = ls_serie-idx.
+ if ls_serie-idx is not initial.
+ lv_str = ls_serie-idx.
+ else.
+ lv_str = sy-index.
+ endif.
condense lv_str.
lo_element5->set_attribute_ns( name = 'val'
value = lv_str ).
@@ -1554,7 +1556,11 @@ endmethod.
parent = lo_element3 ).
lo_element5 = lo_document->create_simple_element( name = lc_xml_node_idx
parent = lo_element4 ).
- lv_str = ls_serie-idx.
+ if ls_serie-idx is not initial.
+ lv_str = ls_serie-idx.
+ else.
+ lv_str = sy-index.
+ endif.
condense lv_str.
lo_element5->set_attribute_ns( name = 'val'
value = lv_str ).
diff --git a/ZA2X/PROG/ZDEMO_CALENDAR.slnk b/ZA2X/PROG/ZDEMO_CALENDAR.slnk
index e8b012e..5af10e6 100644
--- a/ZA2X/PROG/ZDEMO_CALENDAR.slnk
+++ b/ZA2X/PROG/ZDEMO_CALENDAR.slnk
@@ -1,5 +1,5 @@
-
-
+
+
@@ -280,7 +280,7 @@ START-OF-SELECTION.
lv_content = zcl_helper=>load_image( image_path ).
width = c_height * c_factor.
lo_drawing->set_media( ip_media = lv_content
- ip_media_type = 'jpg'
+ ip_media_type = zcl_excel_drawing=>c_media_type_jpg
ip_width = width
ip_height = c_height ).
lo_worksheet->add_drawing( lo_drawing ).
diff --git a/ZA2X/PROG/ZDEMO_EXCEL16.slnk b/ZA2X/PROG/ZDEMO_EXCEL16.slnk
index 38b7409..bc76e7c 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL16.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL16.slnk
@@ -1,5 +1,5 @@
-
-
+
+
@@ -118,7 +118,7 @@ START-OF-SELECTION.
lo_drawing->set_position( ip_from_row = 9
ip_from_col = 'B' ).
lo_drawing->set_media( ip_media = lv_content
- ip_media_type = 'bmp'
+ ip_media_type = zcl_excel_drawing=>c_media_type_bmp
ip_width = 83
ip_height = 160 ).
diff --git a/ZA2X/PROG/ZDEMO_EXCEL38.slnk b/ZA2X/PROG/ZDEMO_EXCEL38.slnk
index 4c21455..bca7ee7 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL38.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL38.slnk
@@ -103,7 +103,7 @@ START-OF-SELECTION.
ENDLOOP.
lo_drawing->set_media( ip_media = lv_xstring
- ip_media_type = 'jpg'
+ ip_media_type = zcl_excel_drawing=>c_media_type_jpg
ip_width = 16
ip_height = 14 ).
lo_worksheet->add_drawing( lo_drawing ).