From 0ea530b25b6e8025a27659e31e47c1e80d6ff266 Mon Sep 17 00:00:00 2001 From: Domi Bigl Date: Thu, 22 Aug 2024 14:27:39 +0000 Subject: [PATCH] remove comments and old coding --- src/zcl_excel.clas.abap | 2 +- src/zcl_excel_autofilter.clas.abap | 8 ++--- src/zcl_excel_reader_2007.clas.abap | 16 ++------- src/zcl_excel_row.clas.abap | 34 ++++++------------- src/zcl_excel_worksheet.clas.abap | 18 +++------- src/zcl_excel_writer_2007.clas.abap | 52 +++++++++++++---------------- src/zexcel_t_stylemapping1.ttyp.xml | 22 +++++++++++- 7 files changed, 67 insertions(+), 85 deletions(-) diff --git a/src/zcl_excel.clas.abap b/src/zcl_excel.clas.abap index e52a699..a04367b 100644 --- a/src/zcl_excel.clas.abap +++ b/src/zcl_excel.clas.abap @@ -269,7 +269,7 @@ CLASS zcl_excel IMPLEMENTATION. LIKE LINE OF t_stylemapping2. DATA: style TYPE REF TO zcl_excel_style. - LOOP AT me->t_stylemapping1 ASSIGNING WHERE added_to_iterator IS INITIAL. + LOOP AT me->t_stylemapping1 ASSIGNING USING KEY added_to_iterator WHERE added_to_iterator IS INITIAL. READ TABLE me->t_stylemapping2 ASSIGNING WITH TABLE KEY guid = -guid. CHECK sy-subrc = 0. " Should always be true since these tables are being filled parallel diff --git a/src/zcl_excel_autofilter.clas.abap b/src/zcl_excel_autofilter.clas.abap index d284501..fd60a19 100644 --- a/src/zcl_excel_autofilter.clas.abap +++ b/src/zcl_excel_autofilter.clas.abap @@ -18,8 +18,8 @@ CLASS zcl_excel_autofilter DEFINITION logical_operator TYPE tv_logical_operator, tr_textfilter2 TYPE RANGE OF string, END OF ts_filter . - TYPES: - tt_filters TYPE SORTED TABLE OF ts_filter WITH UNIQUE KEY column . + TYPES: tt_filters TYPE SORTED TABLE OF ts_filter WITH UNIQUE KEY column + WITH NON-UNIQUE SORTED KEY rule COMPONENTS rule. DATA filter_area TYPE zexcel_s_autofilter_area . CONSTANTS mc_filter_rule_single_values TYPE tv_filter_rule VALUE 'single_values'. "#EC NOTEXT @@ -192,7 +192,7 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. DATA: ls_filter LIKE LINE OF rt_filter. - LOOP AT me->mt_filters ASSIGNING WHERE rule = mc_filter_rule_single_values. "#EC CI_HASHSEQ + LOOP AT me->mt_filters ASSIGNING USING KEY rule WHERE rule = mc_filter_rule_single_values. ls_filter-column = -column. LOOP AT -t_values ASSIGNING . @@ -223,7 +223,7 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. LOOP AT mt_filters ASSIGNING WHERE column >= me->filter_area-col_start - AND column <= me->filter_area-col_end. + AND column <= me->filter_area-col_end. "#EC CI_SORTSEQ CASE -rule. diff --git a/src/zcl_excel_reader_2007.clas.abap b/src/zcl_excel_reader_2007.clas.abap index 19a6c57..d8cbd40 100644 --- a/src/zcl_excel_reader_2007.clas.abap +++ b/src/zcl_excel_reader_2007.clas.abap @@ -97,12 +97,7 @@ CLASS zcl_excel_reader_2007 DEFINITION ref TYPE string, formula TYPE string, END OF ty_ref_formulae . - TYPES: -* Begin of ATC fix-issue-1014-part1 -* tyt_ref_formulae TYPE HASHED TABLE OF ty_ref_formulae WITH UNIQUE KEY sheet row column . - tyt_ref_formulae TYPE TABLE OF ty_ref_formulae WITH UNIQUE HASHED KEY hash_key COMPONENTS - sheet row column si ref formula. -* End of ATC fix-issue-1014-part1 + TYPES: tyt_ref_formulae TYPE TABLE OF ty_ref_formulae WITH UNIQUE HASHED KEY hash_key COMPONENTS sheet row column si ref formula. TYPES: BEGIN OF t_shared_string, value TYPE string, @@ -391,17 +386,12 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. row TYPE i, outline_level TYPE i, END OF lts_row_data, -* Begin of ATC fix-issue-1014-part1 -* ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row. - ltt_row_data TYPE TABLE OF lts_row_data WITH NON-UNIQUE SORTED KEY sort_key - COMPONENTS outline_level. -* End of ATC fix-issue-1014-part1 + ltt_row_data TYPE TABLE OF lts_row_data WITH NON-UNIQUE SORTED KEY sort_key COMPONENTS outline_level. + DATA: lt_row_data TYPE ltt_row_data, ls_row_data LIKE LINE OF lt_row_data, lt_collapse_rows TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line, - lv_collapsed TYPE abap_bool, - lv_outline_level TYPE i, lv_next_consecutive_row TYPE i, lt_outline_rows TYPE zcl_excel_worksheet=>mty_ts_outlines_row, diff --git a/src/zcl_excel_row.clas.abap b/src/zcl_excel_row.clas.abap index b1b9043..8d66add 100644 --- a/src/zcl_excel_row.clas.abap +++ b/src/zcl_excel_row.clas.abap @@ -116,8 +116,9 @@ CLASS zcl_excel_row IMPLEMENTATION. ELSE. lv_previous_row = me->row_index - 1. lt_row_outlines = io_worksheet->get_row_outlines( ). - READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_to = lv_previous_row " last line of an outline - collapsed = abap_true. " that is collapsed + + READ TABLE lt_row_outlines TRANSPORTING NO FIELDS WITH KEY row_to COMPONENTS row_to = lv_previous_row " last line of an outline + collapsed = abap_true. " that is collapsed ENDIF. CHECK sy-subrc = 0. " ok - we found it r_collapsed = abap_true. @@ -140,15 +141,10 @@ CLASS zcl_excel_row IMPLEMENTATION. CHECK io_worksheet IS BOUND. lt_row_outlines = io_worksheet->get_row_outlines( ). -* Begin of ATC fix-issue-1014-part1 -* LOOP AT lt_row_outlines ASSIGNING WHERE row_from <= me->row_index -* AND row_to >= me->row_index. - LOOP AT lt_row_outlines ASSIGNING USING KEY collapsed . - IF -row_from <= me->row_index - AND -row_to >= me->row_index. -* End of ATC fix-issue-1014-part1 - ADD 1 TO r_outline_level. - ENDIF. + + LOOP AT lt_row_outlines ASSIGNING WHERE row_from <= me->row_index + AND row_to >= me->row_index. "#EC CI_SORTSEQ + ADD 1 TO r_outline_level. ENDLOOP. ENDMETHOD. @@ -172,7 +168,6 @@ CLASS zcl_excel_row IMPLEMENTATION. METHOD get_visible. DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row. - FIELD-SYMBOLS: LIKE LINE OF lt_row_outlines. r_visible = me->visible. CHECK r_visible = abap_true. " Currently visible --> but maybe the new outline methodology will hide it implicitly @@ -180,20 +175,11 @@ CLASS zcl_excel_row IMPLEMENTATION. lt_row_outlines = io_worksheet->get_row_outlines( ). -* Begin of ATC fix-issue-1014-part1 -* LOOP AT lt_row_outlines ASSIGNING WHERE row_from <= me->row_index -* AND row_to >= me->row_index -* AND collapsed = abap_true. " row is in a collapsed outline --> not visible - LOOP AT lt_row_outlines ASSIGNING USING KEY collapsed. - - IF -row_from <= me->row_index - AND -row_to >= me->row_index - AND -collapsed = abap_true. - -* End of ATC fix-issue-1014-part1 + LOOP AT lt_row_outlines TRANSPORTING NO FIELDS WHERE row_from <= me->row_index + AND row_to >= me->row_index + AND collapsed = abap_true. "#EC CI_SORTSEQ CLEAR r_visible. RETURN. " one hit is enough to ensure invisibility - ENDIF. "ATC fix-issue-1014-part1 ENDLOOP. ENDMETHOD. diff --git a/src/zcl_excel_worksheet.clas.abap b/src/zcl_excel_worksheet.clas.abap index 591c2da..1cf1ee5 100644 --- a/src/zcl_excel_worksheet.clas.abap +++ b/src/zcl_excel_worksheet.clas.abap @@ -21,13 +21,8 @@ CLASS zcl_excel_worksheet DEFINITION row_to TYPE i, collapsed TYPE abap_bool, END OF mty_s_outline_row . - TYPES: -* Begin of ATC fix-issue-1014-part1 -* mty_ts_outlines_row TYPE SORTED TABLE OF mty_s_outline_row WITH UNIQUE KEY row_from row_to . - mty_ts_outlines_row TYPE SORTED TABLE OF mty_s_outline_row WITH UNIQUE KEY primary_key - COMPONENTS row_from row_to - WITH NON-UNIQUE SORTED KEY collapsed COMPONENTS collapsed. -* End of ATC fix-issue-1014-part1 . + TYPES: mty_ts_outlines_row TYPE SORTED TABLE OF mty_s_outline_row WITH UNIQUE KEY primary_key COMPONENTS row_from row_to + WITH NON-UNIQUE SORTED KEY row_to COMPONENTS row_to. TYPES: BEGIN OF mty_s_ignored_errors, "! Cell reference (e.g. "A1") or list like "A1 A2" or range "A1:G1" @@ -78,11 +73,8 @@ CLASS zcl_excel_worksheet DEFINITION col_from TYPE i, col_to TYPE i, END OF mty_merge . - TYPES: -* Begin of ATC fix-issue-1014-part1 -* mty_ts_merge TYPE SORTED TABLE OF mty_merge WITH UNIQUE KEY table_line . - mty_ts_merge TYPE TABLE OF mty_merge WITH UNIQUE SORTED KEY sort_key COMPONENTS row_from row_to. -* End of ATC fix-issue-1014-part1 + TYPES: mty_ts_merge TYPE TABLE OF mty_merge WITH UNIQUE SORTED KEY sort_key COMPONENTS row_from row_to. + TYPES: ty_area TYPE c LENGTH 1 . @@ -2277,7 +2269,7 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ENDIF. " Date & Time in excel style - LOOP AT me->sheet_content ASSIGNING WHERE cell_style IS NOT INITIAL AND data_type IS INITIAL. + LOOP AT me->sheet_content ASSIGNING WHERE cell_style IS NOT INITIAL AND data_type IS INITIAL. "#EC CI_SORTSEQ ls_style_conv-cell_style = -cell_style. APPEND ls_style_conv TO lt_style_conv. ENDLOOP. diff --git a/src/zcl_excel_writer_2007.clas.abap b/src/zcl_excel_writer_2007.clas.abap index 4789767..2b02298 100644 --- a/src/zcl_excel_writer_2007.clas.abap +++ b/src/zcl_excel_writer_2007.clas.abap @@ -3362,18 +3362,18 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. DATA: - ld_1 TYPE string, - ld_2 TYPE string, - ld_3 TYPE string, - ld_4 TYPE string, - ld_5 TYPE string, - ld_7 TYPE string, + ld_1 TYPE string, + ld_2 TYPE string, + ld_3 TYPE string, + ld_4 TYPE string, + ld_5 TYPE string, + ld_7 TYPE string, - ls_odd_header TYPE zexcel_s_worksheet_head_foot, - ls_odd_footer TYPE zexcel_s_worksheet_head_foot, - ls_even_header TYPE zexcel_s_worksheet_head_foot, - ls_even_footer TYPE zexcel_s_worksheet_head_foot, - lv_content TYPE string. + ls_odd_header TYPE zexcel_s_worksheet_head_foot, + ls_odd_footer TYPE zexcel_s_worksheet_head_foot, + ls_even_header TYPE zexcel_s_worksheet_head_foot, + ls_even_footer TYPE zexcel_s_worksheet_head_foot, + lv_content TYPE string. * INIT_RESULT @@ -3731,13 +3731,13 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. METHOD create_xl_sheet. ** Constant node name - DATA: lc_xml_node_worksheet TYPE string VALUE 'worksheet', + DATA: lc_xml_node_worksheet TYPE string VALUE 'worksheet', " Node namespace - lc_xml_node_ns TYPE string VALUE 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', - lc_xml_node_r_ns TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships', - lc_xml_node_comp_ns TYPE string VALUE 'http://schemas.openxmlformats.org/markup-compatibility/2006', - lc_xml_node_comp_pref TYPE string VALUE 'x14ac', - lc_xml_node_ig_ns TYPE string VALUE 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac'. + lc_xml_node_ns TYPE string VALUE 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', + lc_xml_node_r_ns TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships', + lc_xml_node_comp_ns TYPE string VALUE 'http://schemas.openxmlformats.org/markup-compatibility/2006', + lc_xml_node_comp_pref TYPE string VALUE 'x14ac', + lc_xml_node_ig_ns TYPE string VALUE 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac'. DATA: lo_document TYPE REF TO if_ixml_document, lo_element_root TYPE REF TO if_ixml_element, @@ -4033,9 +4033,9 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_table TYPE REF TO zcl_excel_table, lo_link TYPE REF TO zcl_excel_hyperlink. - DATA: lv_value TYPE string, - lv_relation_id TYPE i, - lv_index_str TYPE string. + DATA: lv_value TYPE string, + lv_relation_id TYPE i, + lv_index_str TYPE string. ********************************************************************** * STEP 1: Create [Content_Types].xml into the root of the ZIP @@ -4236,12 +4236,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. lo_iterator TYPE REF TO zcl_excel_collection_iterator, lo_table TYPE REF TO zcl_excel_table, -* Begin of ATC fix-issue-1014-part1 -* lt_table_areas TYPE SORTED TABLE OF lty_table_area WITH NON-UNIQUE KEY left right top bottom, - lt_table_areas TYPE STANDARD TABLE OF lty_table_area WITH - NON-UNIQUE SORTED KEY sort_key - COMPONENTS left right top bottom, -* End of ATC fix-issue-1014-part1 + lt_table_areas TYPE SORTED TABLE OF lty_table_area WITH NON-UNIQUE KEY left right top bottom, ls_table_area LIKE LINE OF lt_table_areas, lo_column TYPE REF TO zcl_excel_column, @@ -4452,7 +4447,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. LOOP AT lt_table_areas TRANSPORTING NO FIELDS WHERE top <= -cell_row AND bottom >= -cell_row AND left <= -cell_column - AND right >= -cell_column. + AND right >= -cell_column. "#EC CI_SORTSEQ EXIT. ENDLOOP. IF sy-subrc = 0. @@ -4549,8 +4544,7 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION. ENDIF. rv_ixml_sheet_data_root->append_child( new_child = lo_element_2 ). " row node ENDIF. - DELETE io_worksheet->sheet_content WHERE cell_value = lc_dummy_cell_content. " Get rid of dummyentries - + DELETE io_worksheet->sheet_content WHERE cell_value = lc_dummy_cell_content. " Get rid of dummyentries "#EC CI_SORTSEQ ENDMETHOD. diff --git a/src/zexcel_t_stylemapping1.ttyp.xml b/src/zexcel_t_stylemapping1.ttyp.xml index fee06b9..4778d18 100644 --- a/src/zexcel_t_stylemapping1.ttyp.xml +++ b/src/zexcel_t_stylemapping1.ttyp.xml @@ -11,8 +11,10 @@ H K U - 0003 + 0004 + X Stylemapping: Values -> GUID + W @@ -21,6 +23,13 @@ 0001 DYNAMIC_STYLE_GUID + + ZEXCEL_T_STYLEMAPPING1 + ADDED_TO_ITERATOR + 0001 + 0193 + ADDED_TO_ITERATOR + ZEXCEL_T_STYLEMAPPING1 0002 @@ -34,6 +43,17 @@ COMPLETE_STYLE + + + ZEXCEL_T_STYLEMAPPING1 + ADDED_TO_ITERATOR + E + X + S + K + added_to_iterator + +