diff --git a/src/zcl_excel_sheet_setup.clas.xml b/src/zcl_excel_sheet_setup.clas.xml
index cfffde6..6186c3a 100644
--- a/src/zcl_excel_sheet_setup.clas.xml
+++ b/src/zcl_excel_sheet_setup.clas.xml
@@ -1247,7 +1247,7 @@
ZCL_EXCEL_SHEET_SETUP
MARGIN_TOP
I
- Margin top in inches
+ Margin top in inches
ZCL_EXCEL_SHEET_SETUP
diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap
index b95af7f..9276bed 100644
--- a/src/zcl_excel_writer_2007.clas.abap
+++ b/src/zcl_excel_writer_2007.clas.abap
@@ -207,8 +207,9 @@ method CREATE.
lv_xl_comment_rels TYPE string, " (+) Issue #180
lv_xl_drawing TYPE string,
lv_xl_drawing_rels TYPE string,
- lv_syindex TYPE string,
+ lv_index_str TYPE string,
lv_value TYPE string,
+ lv_sheet_index TYPE i,
lv_drawing_index TYPE i,
lv_comment_index TYPE i. " (+) Issue #180
@@ -280,10 +281,10 @@ method CREATE.
* STEP 10: Add sheet#.xml and drawing#.xml to zip
lo_iterator = me->excel->get_worksheets_iterator( ).
lo_active_worksheet = me->excel->get_active_worksheet( ).
- lv_drawing_index = 1.
- lv_comment_index = 1. " (+) Issue #180
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
+ lv_sheet_index = sy-index.
+
lo_worksheet ?= lo_iterator->if_object_collection_iterator~get_next( ).
IF lo_active_worksheet->get_guid( ) EQ lo_worksheet->get_guid( ).
lv_active = abap_true.
@@ -293,19 +294,66 @@ method CREATE.
lv_content = me->create_xl_sheet( io_worksheet = lo_worksheet
iv_active = lv_active ).
lv_xl_sheet = me->c_xl_sheet.
- MOVE sy-index TO: lv_syindex,
- lv_comment_index. " (+) Issue #180
- SHIFT lv_syindex RIGHT DELETING TRAILING space.
- SHIFT lv_syindex LEFT DELETING LEADING space.
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_sheet WITH lv_syindex.
+
+ lv_index_str = lv_sheet_index.
+ CONDENSE lv_index_str NO-GAPS.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_sheet WITH lv_index_str.
lo_zip->add( name = lv_xl_sheet
content = lv_content ).
+* Begin - Add - Issue #180
+* Add comments **********************************
+ lo_comments = lo_worksheet->get_comments( ).
+ IF lo_comments->is_empty( ) = abap_false.
+ lv_comment_index = lv_comment_index + 1.
+
+ " Create comment itself
+ lv_content = me->create_xl_comments( lo_worksheet ).
+ lv_xl_comment = me->c_xl_comments.
+ lv_index_str = lv_comment_index.
+ CONDENSE lv_index_str NO-GAPS.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_comment WITH lv_index_str.
+ lo_zip->add( name = lv_xl_comment
+ content = lv_content ).
+
+ " Create vmlDrawing that will host the comment
+ lv_content = me->create_xl_drawing_for_comments( lo_worksheet ).
+ lv_xl_drawing_for_comment = me->cl_xl_drawing_for_comments.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing_for_comment WITH lv_index_str.
+ lo_zip->add( name = lv_xl_drawing_for_comment
+ content = lv_content ).
+ ENDIF.
+* End - Add - Issue #180
+
+* Add drawings **********************************
+ lo_drawings = lo_worksheet->get_drawings( ).
+ IF lo_drawings->is_empty( ) = abap_false.
+ lv_drawing_index = lv_drawing_index + 1.
+
+ lv_content = me->create_xl_drawings( lo_worksheet ).
+ lv_xl_drawing = me->c_xl_drawings.
+ lv_index_str = lv_drawing_index.
+ CONDENSE lv_index_str NO-GAPS.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing WITH lv_index_str.
+ lo_zip->add( name = lv_xl_drawing
+ content = lv_content ).
+
+ lv_content = me->create_xl_drawings_rels( lo_worksheet ).
+ lv_xl_drawing_rels = me->c_xl_drawings_rels.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing_rels WITH lv_index_str.
+ lo_zip->add( name = lv_xl_drawing_rels
+ content = lv_content ).
+ ENDIF.
+
+
lv_xl_sheet_rels = me->c_xl_sheet_rels.
lv_content = me->create_xl_sheet_rels( io_worksheet = lo_worksheet
iv_drawing_index = lv_drawing_index
iv_comment_index = lv_comment_index ). " (+) Issue #180
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_sheet_rels WITH lv_syindex.
+
+ lv_index_str = lv_sheet_index.
+ CONDENSE lv_index_str NO-GAPS.
+ REPLACE ALL OCCURRENCES OF '#' IN lv_xl_sheet_rels WITH lv_index_str.
lo_zip->add( name = lv_xl_sheet_rels
content = lv_content ).
@@ -321,50 +369,7 @@ method CREATE.
content = lv_content ).
ENDWHILE.
-* Begin - Add - Issue #180
-* Add comments **********************************
- lo_comments = lo_worksheet->get_comments( ).
- IF lo_comments->is_empty( ) = abap_false.
- MOVE lv_comment_index TO lv_syindex.
- SHIFT lv_syindex RIGHT DELETING TRAILING space.
- SHIFT lv_syindex LEFT DELETING LEADING space.
- " Create comment itself
- lv_content = me->create_xl_comments( lo_worksheet ).
- lv_xl_comment = me->c_xl_comments.
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_comment WITH lv_syindex.
- lo_zip->add( name = lv_xl_comment
- content = lv_content ).
-
- " Create vmlDrawing that will host the comment
- lv_content = me->create_xl_drawing_for_comments( lo_worksheet ).
- lv_xl_drawing_for_comment = me->cl_xl_drawing_for_comments.
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing_for_comment WITH lv_syindex.
- lo_zip->add( name = lv_xl_drawing_for_comment
- content = lv_content ).
- ENDIF.
-* End - Add - Issue #180
-
-* Add drawings **********************************
- lo_drawings = lo_worksheet->get_drawings( ).
- IF lo_drawings->is_empty( ) = abap_false.
- MOVE lv_drawing_index TO lv_syindex.
- SHIFT lv_syindex RIGHT DELETING TRAILING space.
- SHIFT lv_syindex LEFT DELETING LEADING space.
-
- lv_content = me->create_xl_drawings( lo_worksheet ).
- lv_xl_drawing = me->c_xl_drawings.
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing WITH lv_syindex.
- lo_zip->add( name = lv_xl_drawing
- content = lv_content ).
-
- lv_content = me->create_xl_drawings_rels( lo_worksheet ).
- lv_xl_drawing_rels = me->c_xl_drawings_rels.
- REPLACE ALL OCCURRENCES OF '#' IN lv_xl_drawing_rels WITH lv_syindex.
- lo_zip->add( name = lv_xl_drawing_rels
- content = lv_content ).
- ADD 1 TO lv_drawing_index.
- ENDIF.
ENDWHILE.