Skip to content

Commit 44031d3

Browse files
authored
extract more demo code to classes (#86)
1 parent f7e107a commit 44031d3

24 files changed

+871
-640
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
CLASS zcl_excel_demo12 DEFINITION PUBLIC.
2+
PUBLIC SECTION.
3+
INTERFACES zif_excel_demo_output.
4+
ENDCLASS.
5+
6+
CLASS zcl_excel_demo12 IMPLEMENTATION.
7+
8+
METHOD zif_excel_demo_output~run.
9+
10+
DATA lo_worksheet TYPE REF TO zcl_excel_worksheet.
11+
DATA lo_column TYPE REF TO zcl_excel_column.
12+
DATA lo_row TYPE REF TO zcl_excel_row.
13+
14+
" Creates active sheet
15+
CREATE OBJECT ro_excel.
16+
17+
" Get active sheet
18+
lo_worksheet = ro_excel->get_active_worksheet( ).
19+
lo_worksheet->set_title( 'Sheet1' ).
20+
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world in AutoSize column' ).
21+
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Hello world in a column width size 50' ).
22+
lo_worksheet->set_cell( ip_column = 'D' ip_row = 4 ip_value = 'Hello world (hidden column)' ).
23+
lo_worksheet->set_cell( ip_column = 'F' ip_row = 2 ip_value = 'Outline column level 0' ).
24+
lo_worksheet->set_cell( ip_column = 'G' ip_row = 2 ip_value = 'Outline column level 1' ).
25+
lo_worksheet->set_cell( ip_column = 'H' ip_row = 2 ip_value = 'Outline column level 2' ).
26+
lo_worksheet->set_cell( ip_column = 'I' ip_row = 2 ip_value = 'Small' ).
27+
28+
29+
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Hello world (hidden row)' ).
30+
lo_worksheet->set_cell( ip_column = 'E' ip_row = 5 ip_value = 'Hello world in a row height size 20' ).
31+
lo_worksheet->set_cell( ip_column = 'B' ip_row = 9 ip_value = 'Simple outline rows 10-16 ( collapsed )' ).
32+
lo_worksheet->set_cell( ip_column = 'B' ip_row = 19 ip_value = '3 Outlines - Outlinelevel 1 is collapsed' ).
33+
lo_worksheet->set_cell( ip_column = 'C' ip_row = 19 ip_value = 'One of the two inner outlines is expanded, one collapsed' ).
34+
lo_worksheet->set_cell( ip_column = 'B' ip_row = 20 ip_value = 'Inner outline level - expanded' ).
35+
lo_worksheet->set_cell( ip_column = 'B' ip_row = 24 ip_value = 'Inner outline level - lines 25-28 are collapsed' ).
36+
37+
lo_worksheet->zif_excel_sheet_properties~summarybelow = zif_excel_sheet_properties=>c_below_off. " By default is on
38+
lo_worksheet->zif_excel_sheet_properties~summaryright = zif_excel_sheet_properties=>c_right_off. " By default is on
39+
40+
" Column Settings
41+
" Auto size
42+
lo_column = lo_worksheet->get_column( ip_column = 'B' ).
43+
lo_column->set_auto_size( ip_auto_size = abap_true ).
44+
lo_column = lo_worksheet->get_column( ip_column = 'I' ).
45+
lo_column->set_auto_size( ip_auto_size = abap_true ).
46+
" Manual Width
47+
lo_column = lo_worksheet->get_column( ip_column = 'C' ).
48+
lo_column->set_width( ip_width = 50 ).
49+
lo_column = lo_worksheet->get_column( ip_column = 'D' ).
50+
lo_column->set_visible( ip_visible = abap_false ).
51+
" Implementation in the Writer is not working yet ===== TODO =====
52+
lo_column = lo_worksheet->get_column( ip_column = 'F' ).
53+
lo_column->set_outline_level( ip_outline_level = 0 ).
54+
lo_column = lo_worksheet->get_column( ip_column = 'G' ).
55+
lo_column->set_outline_level( ip_outline_level = 1 ).
56+
lo_column = lo_worksheet->get_column( ip_column = 'H' ).
57+
lo_column->set_outline_level( ip_outline_level = 2 ).
58+
59+
lo_row = lo_worksheet->get_row( ip_row = 1 ).
60+
lo_row->set_visible( ip_visible = abap_false ).
61+
lo_row = lo_worksheet->get_row( ip_row = 5 ).
62+
lo_row->set_row_height( ip_row_height = 20 ).
63+
64+
* Define an outline rows 10-16, collapsed on startup
65+
lo_worksheet->set_row_outline( iv_row_from = 10
66+
iv_row_to = 16
67+
iv_collapsed = abap_true ). " collapsed
68+
69+
* Define an inner outline rows 21-22, expanded when outer outline becomes extended
70+
lo_worksheet->set_row_outline( iv_row_from = 21
71+
iv_row_to = 22
72+
iv_collapsed = abap_false ). " expanded
73+
74+
* Define an inner outline rows 25-28, collapsed on startup
75+
lo_worksheet->set_row_outline( iv_row_from = 25
76+
iv_row_to = 28
77+
iv_collapsed = abap_true ). " collapsed
78+
79+
* Define an outer outline rows 20-30, collapsed on startup
80+
lo_worksheet->set_row_outline( iv_row_from = 20
81+
iv_row_to = 30
82+
iv_collapsed = abap_true ). " collapsed
83+
84+
* Hint: the order you create the outlines can be arbitrary
85+
* You can start with inner outlines or with outer outlines
86+
87+
*--------------------------------------------------------------------*
88+
* Hide columns right of column M
89+
*--------------------------------------------------------------------*
90+
lo_worksheet->zif_excel_sheet_properties~hide_columns_from = 'M'.
91+
92+
ENDMETHOD.
93+
94+
ENDCLASS.

src/demo012/zcl_excel_demo12.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>ZCL_EXCEL_DEMO12</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>ZCL_EXCEL_DEMO12</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

src/demo012/zdemo_excel12.prog.abap

Lines changed: 2 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -8,93 +8,13 @@
88

99
REPORT zdemo_excel12.
1010

11-
DATA: lo_excel TYPE REF TO zcl_excel,
12-
lo_worksheet TYPE REF TO zcl_excel_worksheet,
13-
lo_column TYPE REF TO zcl_excel_column,
14-
lo_row TYPE REF TO zcl_excel_row.
11+
DATA lo_excel TYPE REF TO zcl_excel.
1512

1613
CONSTANTS: gc_save_file_name TYPE string VALUE '12_HideSizeOutlineRowsAndColumns.xlsx'.
1714
INCLUDE zdemo_excel_outputopt_incl.
1815

1916
START-OF-SELECTION.
20-
21-
" Creates active sheet
22-
CREATE OBJECT lo_excel.
23-
24-
" Get active sheet
25-
lo_worksheet = lo_excel->get_active_worksheet( ).
26-
lo_worksheet->set_title( 'Sheet1' ).
27-
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world in AutoSize column' ).
28-
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = 'Hello world in a column width size 50' ).
29-
lo_worksheet->set_cell( ip_column = 'D' ip_row = 4 ip_value = 'Hello world (hidden column)' ).
30-
lo_worksheet->set_cell( ip_column = 'F' ip_row = 2 ip_value = 'Outline column level 0' ).
31-
lo_worksheet->set_cell( ip_column = 'G' ip_row = 2 ip_value = 'Outline column level 1' ).
32-
lo_worksheet->set_cell( ip_column = 'H' ip_row = 2 ip_value = 'Outline column level 2' ).
33-
lo_worksheet->set_cell( ip_column = 'I' ip_row = 2 ip_value = 'Small' ).
34-
35-
36-
lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Hello world (hidden row)' ).
37-
lo_worksheet->set_cell( ip_column = 'E' ip_row = 5 ip_value = 'Hello world in a row height size 20' ).
38-
lo_worksheet->set_cell( ip_column = 'B' ip_row = 9 ip_value = 'Simple outline rows 10-16 ( collapsed )' ).
39-
lo_worksheet->set_cell( ip_column = 'B' ip_row = 19 ip_value = '3 Outlines - Outlinelevel 1 is collapsed' ).
40-
lo_worksheet->set_cell( ip_column = 'C' ip_row = 19 ip_value = 'One of the two inner outlines is expanded, one collapsed' ).
41-
lo_worksheet->set_cell( ip_column = 'B' ip_row = 20 ip_value = 'Inner outline level - expanded' ).
42-
lo_worksheet->set_cell( ip_column = 'B' ip_row = 24 ip_value = 'Inner outline level - lines 25-28 are collapsed' ).
43-
44-
lo_worksheet->zif_excel_sheet_properties~summarybelow = zif_excel_sheet_properties=>c_below_off. " By default is on
45-
lo_worksheet->zif_excel_sheet_properties~summaryright = zif_excel_sheet_properties=>c_right_off. " By default is on
46-
47-
" Column Settings
48-
" Auto size
49-
lo_column = lo_worksheet->get_column( ip_column = 'B' ).
50-
lo_column->set_auto_size( ip_auto_size = abap_true ).
51-
lo_column = lo_worksheet->get_column( ip_column = 'I' ).
52-
lo_column->set_auto_size( ip_auto_size = abap_true ).
53-
" Manual Width
54-
lo_column = lo_worksheet->get_column( ip_column = 'C' ).
55-
lo_column->set_width( ip_width = 50 ).
56-
lo_column = lo_worksheet->get_column( ip_column = 'D' ).
57-
lo_column->set_visible( ip_visible = abap_false ).
58-
" Implementation in the Writer is not working yet ===== TODO =====
59-
lo_column = lo_worksheet->get_column( ip_column = 'F' ).
60-
lo_column->set_outline_level( ip_outline_level = 0 ).
61-
lo_column = lo_worksheet->get_column( ip_column = 'G' ).
62-
lo_column->set_outline_level( ip_outline_level = 1 ).
63-
lo_column = lo_worksheet->get_column( ip_column = 'H' ).
64-
lo_column->set_outline_level( ip_outline_level = 2 ).
65-
66-
lo_row = lo_worksheet->get_row( ip_row = 1 ).
67-
lo_row->set_visible( ip_visible = abap_false ).
68-
lo_row = lo_worksheet->get_row( ip_row = 5 ).
69-
lo_row->set_row_height( ip_row_height = 20 ).
70-
71-
* Define an outline rows 10-16, collapsed on startup
72-
lo_worksheet->set_row_outline( iv_row_from = 10
73-
iv_row_to = 16
74-
iv_collapsed = abap_true ). " collapsed
75-
76-
* Define an inner outline rows 21-22, expanded when outer outline becomes extended
77-
lo_worksheet->set_row_outline( iv_row_from = 21
78-
iv_row_to = 22
79-
iv_collapsed = abap_false ). " expanded
80-
81-
* Define an inner outline rows 25-28, collapsed on startup
82-
lo_worksheet->set_row_outline( iv_row_from = 25
83-
iv_row_to = 28
84-
iv_collapsed = abap_true ). " collapsed
85-
86-
* Define an outer outline rows 20-30, collapsed on startup
87-
lo_worksheet->set_row_outline( iv_row_from = 20
88-
iv_row_to = 30
89-
iv_collapsed = abap_true ). " collapsed
90-
91-
* Hint: the order you create the outlines can be arbitrary
92-
* You can start with inner outlines or with outer outlines
93-
94-
*--------------------------------------------------------------------*
95-
* Hide columns right of column M
96-
*--------------------------------------------------------------------*
97-
lo_worksheet->zif_excel_sheet_properties~hide_columns_from = 'M'.
17+
lo_excel = zcl_excel_demo12=>zif_excel_demo_output~run( ).
9818

9919
*** Create output
10020
lcl_output=>output( lo_excel ).
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
CLASS zcl_excel_demo13 DEFINITION PUBLIC.
2+
PUBLIC SECTION.
3+
INTERFACES zif_excel_demo_output.
4+
ENDCLASS.
5+
6+
CLASS zcl_excel_demo13 IMPLEMENTATION.
7+
METHOD zif_excel_demo_output~run.
8+
9+
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
10+
lv_style_bold_border_guid TYPE zexcel_cell_style,
11+
lo_style_bold_border TYPE REF TO zcl_excel_style,
12+
lo_border_dark TYPE REF TO zcl_excel_style_border.
13+
14+
CREATE OBJECT ro_excel.
15+
16+
" Get active sheet
17+
lo_worksheet = ro_excel->get_active_worksheet( ).
18+
lo_worksheet->set_title( 'sheet1' ).
19+
20+
CREATE OBJECT lo_border_dark.
21+
lo_border_dark->border_color-rgb = zcl_excel_style_color=>c_black.
22+
lo_border_dark->border_style = zcl_excel_style_border=>c_border_thin.
23+
24+
lo_style_bold_border = ro_excel->add_new_style( ).
25+
lo_style_bold_border->font->bold = abap_true.
26+
lo_style_bold_border->font->italic = abap_false.
27+
lo_style_bold_border->font->color-rgb = zcl_excel_style_color=>c_black.
28+
lo_style_bold_border->alignment->horizontal = zcl_excel_style_alignment=>c_horizontal_center.
29+
lo_style_bold_border->borders->allborders = lo_border_dark.
30+
lv_style_bold_border_guid = lo_style_bold_border->get_guid( ).
31+
32+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'A' ip_value = 'Test' ).
33+
34+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'B' ip_value = 'Banana' ip_style = lv_style_bold_border_guid ).
35+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'C' ip_value = '' ip_style = lv_style_bold_border_guid ).
36+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
37+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'E' ip_value = '' ip_style = lv_style_bold_border_guid ).
38+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
39+
lo_worksheet->set_cell( ip_row = 2 ip_column = 'G' ip_value = '' ip_style = lv_style_bold_border_guid ).
40+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'B' ip_value = 'Apple' ip_style = lv_style_bold_border_guid ).
41+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = '' ip_style = lv_style_bold_border_guid ).
42+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
43+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'E' ip_value = '' ip_style = lv_style_bold_border_guid ).
44+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
45+
lo_worksheet->set_cell( ip_row = 4 ip_column = 'G' ip_value = '' ip_style = lv_style_bold_border_guid ).
46+
47+
lo_worksheet->set_merge( ip_row = 4 ip_column_start = 'B' ip_column_end = 'G' ).
48+
49+
" Test also if merge works when oher merged chells are empty
50+
lo_worksheet->set_merge( ip_range = 'B6:G6' ip_value = 'Tomato' ).
51+
52+
" Test the patch provided by Victor Alekhin to merge cells in one column
53+
lo_worksheet->set_merge( ip_range = 'B8:G10' ip_value = 'Merge cells also over multiple rows by Victor Alekhin' ).
54+
55+
" Test the patch provided by Alexander Budeyev with different column merges
56+
lo_worksheet->set_cell( ip_row = 12 ip_column = 'B' ip_value = 'Merge cells with different merges by Alexander Budeyev' ).
57+
lo_worksheet->set_cell( ip_row = 13 ip_column = 'B' ip_value = 'Test' ).
58+
59+
lo_worksheet->set_cell( ip_row = 13 ip_column = 'D' ip_value = 'Banana' ip_style = lv_style_bold_border_guid ).
60+
lo_worksheet->set_cell( ip_row = 14 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
61+
lo_worksheet->set_cell( ip_row = 13 ip_column = 'E' ip_value = 'Apple' ip_style = lv_style_bold_border_guid ).
62+
lo_worksheet->set_cell( ip_row = 13 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
63+
64+
" Test merge (issue)
65+
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'B' ip_column_end = 'C' ip_row_to = 15 ).
66+
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'D' ip_column_end = 'D' ip_row_to = 14 ).
67+
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'E' ip_column_end = 'F' ).
68+
69+
" Test area with merge
70+
lo_worksheet->set_area( ip_row = 18 ip_row_to = 19 ip_column_start = 'B' ip_column_end = 'G' ip_style = lv_style_bold_border_guid
71+
ip_value = 'Merge cells with new area method by Helmut Bohr ' ip_merge = abap_true ).
72+
73+
" Test area without merge
74+
lo_worksheet->set_area( ip_row = 21 ip_row_to = 22 ip_column_start = 'B' ip_column_end = 'G' ip_style = lv_style_bold_border_guid
75+
ip_value = 'Test area' ).
76+
ENDMETHOD.
77+
78+
ENDCLASS.

src/demo013/zcl_excel_demo13.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>ZCL_EXCEL_DEMO13</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>ZCL_EXCEL_DEMO13</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

src/demo013/zdemo_excel13.prog.abap

Lines changed: 2 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -8,80 +8,13 @@
88

99
REPORT zdemo_excel13.
1010

11-
DATA: lo_excel TYPE REF TO zcl_excel,
12-
lo_worksheet TYPE REF TO zcl_excel_worksheet,
13-
lv_style_bold_border_guid TYPE zexcel_cell_style,
14-
lo_style_bold_border TYPE REF TO zcl_excel_style,
15-
lo_border_dark TYPE REF TO zcl_excel_style_border.
16-
11+
DATA lo_excel TYPE REF TO zcl_excel.
1712

1813
CONSTANTS: gc_save_file_name TYPE string VALUE '13_MergedCells.xlsx'.
1914
INCLUDE zdemo_excel_outputopt_incl.
2015

2116
START-OF-SELECTION.
22-
23-
CREATE OBJECT lo_excel.
24-
25-
" Get active sheet
26-
lo_worksheet = lo_excel->get_active_worksheet( ).
27-
lo_worksheet->set_title( 'sheet1' ).
28-
29-
CREATE OBJECT lo_border_dark.
30-
lo_border_dark->border_color-rgb = zcl_excel_style_color=>c_black.
31-
lo_border_dark->border_style = zcl_excel_style_border=>c_border_thin.
32-
33-
lo_style_bold_border = lo_excel->add_new_style( ).
34-
lo_style_bold_border->font->bold = abap_true.
35-
lo_style_bold_border->font->italic = abap_false.
36-
lo_style_bold_border->font->color-rgb = zcl_excel_style_color=>c_black.
37-
lo_style_bold_border->alignment->horizontal = zcl_excel_style_alignment=>c_horizontal_center.
38-
lo_style_bold_border->borders->allborders = lo_border_dark.
39-
lv_style_bold_border_guid = lo_style_bold_border->get_guid( ).
40-
41-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'A' ip_value = 'Test' ).
42-
43-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'B' ip_value = 'Banana' ip_style = lv_style_bold_border_guid ).
44-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'C' ip_value = '' ip_style = lv_style_bold_border_guid ).
45-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
46-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'E' ip_value = '' ip_style = lv_style_bold_border_guid ).
47-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
48-
lo_worksheet->set_cell( ip_row = 2 ip_column = 'G' ip_value = '' ip_style = lv_style_bold_border_guid ).
49-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'B' ip_value = 'Apple' ip_style = lv_style_bold_border_guid ).
50-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'C' ip_value = '' ip_style = lv_style_bold_border_guid ).
51-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
52-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'E' ip_value = '' ip_style = lv_style_bold_border_guid ).
53-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
54-
lo_worksheet->set_cell( ip_row = 4 ip_column = 'G' ip_value = '' ip_style = lv_style_bold_border_guid ).
55-
56-
lo_worksheet->set_merge( ip_row = 4 ip_column_start = 'B' ip_column_end = 'G' ).
57-
58-
" Test also if merge works when oher merged chells are empty
59-
lo_worksheet->set_merge( ip_range = 'B6:G6' ip_value = 'Tomato' ).
60-
61-
" Test the patch provided by Victor Alekhin to merge cells in one column
62-
lo_worksheet->set_merge( ip_range = 'B8:G10' ip_value = 'Merge cells also over multiple rows by Victor Alekhin' ).
63-
64-
" Test the patch provided by Alexander Budeyev with different column merges
65-
lo_worksheet->set_cell( ip_row = 12 ip_column = 'B' ip_value = 'Merge cells with different merges by Alexander Budeyev' ).
66-
lo_worksheet->set_cell( ip_row = 13 ip_column = 'B' ip_value = 'Test' ).
67-
68-
lo_worksheet->set_cell( ip_row = 13 ip_column = 'D' ip_value = 'Banana' ip_style = lv_style_bold_border_guid ).
69-
lo_worksheet->set_cell( ip_row = 14 ip_column = 'D' ip_value = '' ip_style = lv_style_bold_border_guid ).
70-
lo_worksheet->set_cell( ip_row = 13 ip_column = 'E' ip_value = 'Apple' ip_style = lv_style_bold_border_guid ).
71-
lo_worksheet->set_cell( ip_row = 13 ip_column = 'F' ip_value = '' ip_style = lv_style_bold_border_guid ).
72-
73-
" Test merge (issue)
74-
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'B' ip_column_end = 'C' ip_row_to = 15 ).
75-
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'D' ip_column_end = 'D' ip_row_to = 14 ).
76-
lo_worksheet->set_merge( ip_row = 13 ip_column_start = 'E' ip_column_end = 'F' ).
77-
78-
" Test area with merge
79-
lo_worksheet->set_area( ip_row = 18 ip_row_to = 19 ip_column_start = 'B' ip_column_end = 'G' ip_style = lv_style_bold_border_guid
80-
ip_value = 'Merge cells with new area method by Helmut Bohr ' ip_merge = abap_true ).
81-
82-
" Test area without merge
83-
lo_worksheet->set_area( ip_row = 21 ip_row_to = 22 ip_column_start = 'B' ip_column_end = 'G' ip_style = lv_style_bold_border_guid
84-
ip_value = 'Test area' ).
17+
lo_excel = zcl_excel_demo13=>zif_excel_demo_output~run( ).
8518

8619
*** Create output
8720
lcl_output=>output( lo_excel ).

0 commit comments

Comments
 (0)