diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
index 5df6b30..845d2de 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk
@@ -25,7 +25,7 @@ public section.
constants C_SHEET_STATE_VISIBLE type ZEXCEL_SHEET_STATE value 'visible'. "#EC NOTEXT
data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT .
data SHEET_CONTENT type ZEXCEL_T_CELL_DATA .
- data SHEET_CONTENT_MERGE type ZEXCEL_T_CELL_DATA .
+ data SHEET_CONTENT_MERGE type ZEXCEL_T_CELL_DATA_UNSORTED .
data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP .
data SHEET_STATE type ZEXCEL_SHEET_STATE .
data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT .
@@ -425,7 +425,7 @@ endclass.
-
+
diff --git a/ZA2X/PROG/ZDEMO_EXCEL13.slnk b/ZA2X/PROG/ZDEMO_EXCEL13.slnk
index d16e784..58e128f 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL13.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL13.slnk
@@ -1,5 +1,5 @@
-
+
@@ -88,7 +88,6 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 4 ip_column = 'G' ip_value = '' ip_style = lv_style_bold_border_guid ).
lo_worksheet->set_merge( ip_row = 4 ip_column_start = 'B' ip_column_end = 'G' ).
- lo_worksheet->set_merge( ip_row = 6 ip_column_start = 'B' ip_column_end = 'G' ).
" Test also if merge works when oher merged chells are empty
lo_worksheet->set_cell( ip_row = 6 ip_column = 'B' ip_value = 'Tomato' ).
@@ -98,6 +97,21 @@ START-OF-SELECTION.
lo_worksheet->set_cell( ip_row = 8 ip_column = 'B' ip_value = 'Merge cells also over multiple rows by Victor Alekhin' ).
lo_worksheet->set_merge( ip_row = 8 ip_column_start = 'B' ip_column_end = 'G' ip_row_to = 10 ).
+ " Test the patch provided by Alexander Budeyev with different column merges
+ lo_worksheet->set_cell( ip_row = 12 ip_column = 'B' ip_value = 'Merge cells with different merges by Alexander Budeyev' ).
+ lo_worksheet->set_cell( ip_row = 13 ip_column = 'B' ip_value = 'Test' ).
+
+ lo_worksheet->set_cell( ip_row = 13 ip_column = 'D' ip_value = 'Banana' ip_style = lv_style_bold_border_guid ).
+ lo_worksheet->set_cell( ip_row = 14 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
+ lo_worksheet->set_cell( ip_row = 13 ip_column = 'E' ip_value = 'Apple' ip_style = lv_style_bold_border_guid ).
+ lo_worksheet->set_cell( ip_row = 13 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
+
+ " Test merge (issue)
+ lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'B' ip_column_end = 'C' ip_row_to = 15 ).
+ lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'D' ip_column_end = 'D' ip_row_to = 14 ).
+ lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'E' ip_column_end = 'F' ).
+
+
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
lv_file = lo_excel_writer->write_file( lo_excel ).