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 ).