From 59a24c517dbbce7d3909c6894344213cbcf1d578 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Sat, 6 May 2023 09:51:49 +0300 Subject: [PATCH 01/15] Update colors in ALV converter --- .../zcl_excel_converter_alv.clas.abap | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/not_cloud/zcl_excel_converter_alv.clas.abap b/src/not_cloud/zcl_excel_converter_alv.clas.abap index c44a423..2679fff 100644 --- a/src/not_cloud/zcl_excel_converter_alv.clas.abap +++ b/src/not_cloud/zcl_excel_converter_alv.clas.abap @@ -152,7 +152,7 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION. ls_color-int = 0. ls_color-inv = 0. ls_color-fontcolor = 'FF000000'. - ls_color-fillcolor = 'FFE5EAF0'. " 229 234 240 gray + ls_color-fillcolor = 'FFDFEBF5'. " 223 235 245 gray INSERT ls_color INTO TABLE wt_colors. ls_color-col = 2. @@ -210,7 +210,7 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION. ls_color-int = 0. ls_color-inv = 0. ls_color-fontcolor = 'FF000000'. " 000 000 000 Black - ls_color-fillcolor = 'FFCEE7FB'. " 206 231 251 light blue + ls_color-fillcolor = 'FFCCE3E3'. " 204 227 227 light blue INSERT ls_color INTO TABLE wt_colors. ls_color-col = 4. @@ -239,7 +239,7 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION. ls_color-int = 0. ls_color-inv = 0. ls_color-fontcolor = 'FF000000'. " 000 000 000 Black - ls_color-fillcolor = 'FFCEF8AE'. " 206 248 174 Green + ls_color-fillcolor = 'FFC6F9C1'. " 198 249 193 Green INSERT ls_color INTO TABLE wt_colors. ls_color-col = 5. @@ -268,7 +268,7 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION. ls_color-int = 0. ls_color-inv = 0. ls_color-fontcolor = 'FF000000'. " 000 000 000 Black - ls_color-fillcolor = 'FFFDBBBC'. " 253 187 188 Red + ls_color-fillcolor = 'FFFF988C'. " 255 152 140 Red INSERT ls_color INTO TABLE wt_colors. ls_color-col = 6. @@ -292,6 +292,20 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION. ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White INSERT ls_color INTO TABLE wt_colors. + ls_color-col = 7. + ls_color-int = 0. + ls_color-inv = 0. + ls_color-fontcolor = 'FF000000'. " 000 000 000 Black + ls_color-fillcolor = 'FFF8E5C8'. " 246 229 204 + INSERT ls_color INTO TABLE wt_colors. + + ls_color-col = 7. + ls_color-int = 1. + ls_color-inv = 0. + ls_color-fontcolor = 'FF000000'. " 000 000 000 Black + ls_color-fillcolor = 'FFFDBB71'. " 255 186 106 + INSERT ls_color INTO TABLE wt_colors. + ENDMETHOD. From 91757fcc94820568386b61aafdf108a8b0a944dc Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 06:53:03 +0300 Subject: [PATCH 02/15] Drawing reference 1 --- src/zcl_excel_drawing.clas.abap | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 2999649..0268ee2 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -120,6 +120,12 @@ CLASS zcl_excel_drawing DEFINITION METHODS load_chart_attributes IMPORTING VALUE(ip_chart) TYPE REF TO if_ixml_document . + METHODS set_reference_drawing + IMPORTING + !ip_ref TYPE REF TO zcl_excel_drawing. + METHODS get_reference_guid + IMPORTING + VALUE(ep_guid) TYPE REF TO guid_16 . PROTECTED SECTION. PRIVATE SECTION. @@ -141,6 +147,7 @@ CLASS zcl_excel_drawing DEFINITION DATA from_loc TYPE zexcel_drawing_location . DATA to_loc TYPE zexcel_drawing_location . DATA size TYPE zexcel_drawing_size . + DATA reference_drawing TYPE REF TO zcl_excel_drawing CONSTANTS c_ixml_iid_element TYPE i VALUE 130. ENDCLASS. @@ -1133,4 +1140,16 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. me->anchor = lv_anchor. ENDMETHOD. + + + METHOD set_reference_drawing. + reference_drawing = ip_ref. + ENDMETHOD. + + + METHOD get_reference_guid. + IF reference_drawing IS BOUND. + ep_guid = reference_drawing->get_guid( ). + ENDIF. + ENDMETHOD. ENDCLASS. From 7c5f35e790cbce99ca86982012016741f519bcc3 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 07:40:27 +0300 Subject: [PATCH 03/15] Drawing reference 2 --- src/zcl_excel_writer_2007.clas.abap | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 6b9434e..3126501 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -532,7 +532,10 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_iterator = me->excel->get_drawings_iterator( zcl_excel_drawing=>type_image ). WHILE lo_iterator->has_next( ) EQ abap_true. lo_drawing ?= lo_iterator->get_next( ). - + + "do not add media from drawing with reference + CHECK lo_drawing->get_reference_guid( ) IS INITIAL. + lv_content = lo_drawing->get_media( ). lv_value = lo_drawing->get_media_name( ). CONCATENATE 'xl/media/' lv_value INTO lv_value. @@ -2604,7 +2607,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_drawing TYPE REF TO zcl_excel_drawing. DATA: lv_value TYPE string, - lv_counter TYPE i. + lv_guid TYPE guid_32. ********************************************************************** * STEP 1: Create [Content_Types].xml into the root of the ZIP @@ -2626,11 +2629,12 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_iterator = lo_drawings->get_iterator( ). WHILE lo_iterator->has_next( ) EQ abap_true. lo_drawing ?= lo_iterator->get_next( ). - ADD 1 TO lv_counter. + + CHECK lo_drawing->get_reference_guid( ) IS INITIAL. - lv_value = lv_counter. - CONDENSE lv_value. - CONCATENATE 'rId' lv_value INTO lv_value. + lv_guid = lo_drawing->get_guid( ). + + CONCATENATE 'rId' lv_guid INTO lv_value. lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship parent = lo_document ). @@ -2828,7 +2832,8 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lv_row TYPE string, " zexcel_cell_row. lv_col_offset TYPE string, lv_row_offset TYPE string, - lv_value TYPE string. + lv_value TYPE string, + lv_guid TYPE guid_32. ls_position = io_drawing->get_position( ). @@ -2960,8 +2965,12 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_element_pic->append_child( new_child = lo_element ). * blipFill - lv_value = ip_index. - CONDENSE lv_value. + "reference drawing + IF io_drawing->get_reference_guid IS INITIAL. + lv_guid = io_drawing->get_guid( ). + ELSE. + lv_guid = io_drawing->get_reference_guid( ). + ENDIF. CONCATENATE 'rId' lv_value INTO lv_value. lo_element = io_document->create_simple_element( name = lc_xml_node_blipfill From 51af0c3835d30acc371a1aa5b427cea2dc08a0ad Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 07:55:50 +0300 Subject: [PATCH 04/15] Drawing reference 3 --- src/zcl_excel_drawing.clas.abap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 0268ee2..e000ccf 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -124,8 +124,8 @@ CLASS zcl_excel_drawing DEFINITION IMPORTING !ip_ref TYPE REF TO zcl_excel_drawing. METHODS get_reference_guid - IMPORTING - VALUE(ep_guid) TYPE REF TO guid_16 . + RETURNING + VALUE(ep_guid) TYPE REF TO guid_16 . PROTECTED SECTION. PRIVATE SECTION. From f94f3f2e44bad9df814178a8791fc4953f5880c5 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:02:16 +0300 Subject: [PATCH 05/15] Drawing reference 4 --- src/zcl_excel_drawing.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index e000ccf..e802195 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -147,7 +147,7 @@ CLASS zcl_excel_drawing DEFINITION DATA from_loc TYPE zexcel_drawing_location . DATA to_loc TYPE zexcel_drawing_location . DATA size TYPE zexcel_drawing_size . - DATA reference_drawing TYPE REF TO zcl_excel_drawing + DATA reference_drawing TYPE REF TO zcl_excel_drawing. CONSTANTS c_ixml_iid_element TYPE i VALUE 130. ENDCLASS. From 3ef7f0a0f63b93ac4e81341d3f1b66311b019544 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:05:50 +0300 Subject: [PATCH 06/15] Drawing reference 5 --- src/zcl_excel_drawing.clas.abap | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index e802195..39051f2 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -1140,13 +1140,9 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. me->anchor = lv_anchor. ENDMETHOD. - - METHOD set_reference_drawing. reference_drawing = ip_ref. ENDMETHOD. - - METHOD get_reference_guid. IF reference_drawing IS BOUND. ep_guid = reference_drawing->get_guid( ). From ef7d12d81707c4ac50707c3f2c6e298638b3845e Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:08:18 +0300 Subject: [PATCH 07/15] Drawing reference 6 --- src/zcl_excel_drawing.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 39051f2..368fa6d 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -1144,7 +1144,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. reference_drawing = ip_ref. ENDMETHOD. METHOD get_reference_guid. - IF reference_drawing IS BOUND. + IF reference_drawing IS BOUND. ep_guid = reference_drawing->get_guid( ). ENDIF. ENDMETHOD. From 33b2702e875094530793665ac2ae2efb76573ae8 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:10:15 +0300 Subject: [PATCH 08/15] Drawing reference 8 --- src/zcl_excel_drawing.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 368fa6d..4ee6ba7 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -1147,5 +1147,5 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. IF reference_drawing IS BOUND. ep_guid = reference_drawing->get_guid( ). ENDIF. - ENDMETHOD. + ENDMETHOD. ENDCLASS. From 357c87391868b47c3068fc0db84dfe143019587a Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:21:15 +0300 Subject: [PATCH 09/15] Drawing reference 9 --- src/zcl_excel_writer_2007.clas.abap | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 3126501..b8554cd 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -2624,7 +2624,6 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. * STEP 4: Create subnodes " Add sheet Relationship nodes here - lv_counter = 0. lo_drawings = io_worksheet->get_drawings( ). lo_iterator = lo_drawings->get_iterator( ). WHILE lo_iterator->has_next( ) EQ abap_true. @@ -2966,7 +2965,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. * blipFill "reference drawing - IF io_drawing->get_reference_guid IS INITIAL. + IF io_drawing->get_reference_guid( ) IS INITIAL. lv_guid = io_drawing->get_guid( ). ELSE. lv_guid = io_drawing->get_reference_guid( ). From cd635b49adf71c2e6b15c8078113f31e0babaa38 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:23:52 +0300 Subject: [PATCH 10/15] Drawing reference 10 --- src/zcl_excel_writer_2007.clas.abap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index b8554cd..9803030 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -532,10 +532,10 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_iterator = me->excel->get_drawings_iterator( zcl_excel_drawing=>type_image ). WHILE lo_iterator->has_next( ) EQ abap_true. lo_drawing ?= lo_iterator->get_next( ). - + "do not add media from drawing with reference CHECK lo_drawing->get_reference_guid( ) IS INITIAL. - + lv_content = lo_drawing->get_media( ). lv_value = lo_drawing->get_media_name( ). CONCATENATE 'xl/media/' lv_value INTO lv_value. @@ -2628,7 +2628,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_iterator = lo_drawings->get_iterator( ). WHILE lo_iterator->has_next( ) EQ abap_true. lo_drawing ?= lo_iterator->get_next( ). - + CHECK lo_drawing->get_reference_guid( ) IS INITIAL. lv_guid = lo_drawing->get_guid( ). From 8f9592669fabbc880449fda1183881437094b1d2 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:41:53 +0300 Subject: [PATCH 11/15] Drawing reference 11 --- src/zcl_excel_drawing.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 4ee6ba7..7bba684 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -125,7 +125,7 @@ CLASS zcl_excel_drawing DEFINITION !ip_ref TYPE REF TO zcl_excel_drawing. METHODS get_reference_guid RETURNING - VALUE(ep_guid) TYPE REF TO guid_16 . + VALUE(ep_guid) TYPE REF TO zexcel_guid. PROTECTED SECTION. PRIVATE SECTION. From 8c607ecfe4b190321f82a82ba7055f250a8ded59 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:46:36 +0300 Subject: [PATCH 12/15] Drawing reference 11 --- src/zcl_excel_writer_2007.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 9803030..5f84c9b 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -2607,7 +2607,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_drawing TYPE REF TO zcl_excel_drawing. DATA: lv_value TYPE string, - lv_guid TYPE guid_32. + lv_guid TYPE char32. ********************************************************************** * STEP 1: Create [Content_Types].xml into the root of the ZIP From b35a5c5996d419a01428547c67630c8a2883fa5e Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 08:51:24 +0300 Subject: [PATCH 13/15] Drawing reference 12 --- src/zcl_excel_drawing.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index 7bba684..d1a1f73 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -125,7 +125,7 @@ CLASS zcl_excel_drawing DEFINITION !ip_ref TYPE REF TO zcl_excel_drawing. METHODS get_reference_guid RETURNING - VALUE(ep_guid) TYPE REF TO zexcel_guid. + VALUE(ep_guid) TYPE zexcel_guid. PROTECTED SECTION. PRIVATE SECTION. From b15a436ce6db3ba0da70e71b1ea081d02efb07d4 Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Mon, 8 May 2023 09:03:17 +0300 Subject: [PATCH 14/15] Drawing reference 13 --- src/zcl_excel_writer_2007.clas.abap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 5f84c9b..0268da4 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -2607,7 +2607,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_drawing TYPE REF TO zcl_excel_drawing. DATA: lv_value TYPE string, - lv_guid TYPE char32. + lv_guid TYPE c LENGTH 32. ********************************************************************** * STEP 1: Create [Content_Types].xml into the root of the ZIP @@ -2832,7 +2832,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lv_col_offset TYPE string, lv_row_offset TYPE string, lv_value TYPE string, - lv_guid TYPE guid_32. + lv_guid TYPE c LENGTH 32. ls_position = io_drawing->get_position( ). From 7945a545867a359e72bc8455692f822aa54ac72f Mon Sep 17 00:00:00 2001 From: KonstantinKhrushchev <65112986+KonstantinKhrushchev@users.noreply.github.com> Date: Fri, 12 May 2023 07:46:31 +0300 Subject: [PATCH 15/15] Drawing reference 14 Fix misprint --- src/zcl_excel_writer_2007.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 0268da4..45d952e 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -2970,7 +2970,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. ELSE. lv_guid = io_drawing->get_reference_guid( ). ENDIF. - CONCATENATE 'rId' lv_value INTO lv_value. + CONCATENATE 'rId' lv_guid INTO lv_value. lo_element = io_document->create_simple_element( name = lc_xml_node_blipfill parent = io_document ).