mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-06 07:01:02 +08:00
parent
6097702f82
commit
a4a7fe0340
|
@ -524,8 +524,10 @@ CLASS zcl_excel_converter IMPLEMENTATION.
|
|||
METHOD create_color_style.
|
||||
DATA: ls_styles TYPE ts_styles.
|
||||
DATA: lo_style TYPE REF TO zcl_excel_style.
|
||||
|
||||
READ TABLE wt_styles INTO ls_styles WITH KEY guid = i_style.
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* READ TABLE wt_styles INTO ls_styles WITH KEY guid = i_style.
|
||||
READ TABLE wt_styles INTO ls_styles WITH KEY guid COMPONENTS guid = i_style.
|
||||
* End of ATC fix-issue-1014-part1
|
||||
IF sy-subrc = 0.
|
||||
lo_style = wo_excel->add_new_style( ).
|
||||
lo_style->font->bold = ls_styles-style->font->bold.
|
||||
|
@ -1370,10 +1372,15 @@ CLASS zcl_excel_converter IMPLEMENTATION.
|
|||
IF l_line <= 1.
|
||||
CLEAR l_hidden.
|
||||
ELSE.
|
||||
LOOP AT wt_sort_values INTO ls_sort_values WHERE is_collapsed = abap_false.
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* LOOP AT wt_sort_values INTO ls_sort_values WHERE is_collapsed = abap_false.
|
||||
LOOP AT wt_sort_values INTO ls_sort_values USING KEY sort_level. "WHERE is_collapsed = abap_false.
|
||||
* End of ATC fix-issue-1014-part1
|
||||
IF ls_sort_values-is_collapsed = abap_false. "ATC fix-issue-1014-part1
|
||||
IF l_hidden < ls_sort_values-sort_level.
|
||||
l_hidden = ls_sort_values-sort_level.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ADD 1 TO l_hidden. " As this is the first level we show.
|
||||
|
@ -1418,8 +1425,13 @@ CLASS zcl_excel_converter IMPLEMENTATION.
|
|||
<fs_sortval> = <fs_fldval>.
|
||||
<fs_sortv>-new = abap_false.
|
||||
l_line = <fs_sortv>-sort_level.
|
||||
LOOP AT wt_sort_values ASSIGNING <fs_sortv> WHERE sort_level >= l_line.
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* LOOP AT wt_sort_values ASSIGNING <fs_sortv> WHERE sort_level >= l_line.
|
||||
LOOP AT wt_sort_values ASSIGNING <fs_sortv> USING KEY sort_level .
|
||||
* End of ATC fix-issue-1014-part1
|
||||
IF <fs_sortv>-sort_level >= l_line. "ATC fix-issue-1014-part1
|
||||
<fs_sortv>-row_int = l_row_int.
|
||||
ENDIF. "ATC fix-issue-1014-part1
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
|
|
@ -18,8 +18,13 @@ TYPES: BEGIN OF ts_sort_values,
|
|||
sort_level TYPE int4,
|
||||
is_collapsed TYPE flag,
|
||||
END OF ts_sort_values,
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* tt_sort_values TYPE HASHED TABLE OF ts_sort_values WITH UNIQUE KEY fieldname .
|
||||
tt_sort_values TYPE HASHED TABLE OF ts_sort_values
|
||||
WITH UNIQUE KEY primary_key COMPONENTS fieldname
|
||||
WITH NON-UNIQUE SORTED KEY sort_level COMPONENTS sort_level is_collapsed .
|
||||
|
||||
tt_sort_values TYPE HASHED TABLE OF ts_sort_values WITH UNIQUE KEY fieldname.
|
||||
* End of ATC fix-issue-1014-part1
|
||||
TYPES: BEGIN OF ts_subtotal_rows,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
row_int_start TYPE zexcel_cell_row,
|
||||
|
@ -36,8 +41,13 @@ TYPES: BEGIN OF ts_styles,
|
|||
style TYPE REF TO zcl_excel_style,
|
||||
guid TYPE zexcel_cell_style,
|
||||
END OF ts_styles,
|
||||
|
||||
tt_styles TYPE HASHED TABLE OF ts_styles WITH UNIQUE KEY type alignment inttype decimals.
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* tt_styles TYPE HASHED TABLE OF ts_styles WITH UNIQUE KEY type alignment inttype decimals.
|
||||
tt_styles TYPE HASHED TABLE OF ts_styles with UNIQUE KEY primary_key
|
||||
COMPONENTS type alignment inttype decimals
|
||||
WITH NON-UNIQUE SORTED KEY guid COMPONENTS guid .
|
||||
.
|
||||
* End of ATC fix-issue-1014-part1
|
||||
|
||||
TYPES: BEGIN OF ts_color_styles,
|
||||
guid_old TYPE zexcel_cell_style,
|
||||
|
|
|
@ -192,7 +192,7 @@ CLASS zcl_excel_autofilter IMPLEMENTATION.
|
|||
|
||||
DATA: ls_filter LIKE LINE OF rt_filter.
|
||||
|
||||
LOOP AT me->mt_filters ASSIGNING <ls_filter> WHERE rule = mc_filter_rule_single_values.
|
||||
LOOP AT me->mt_filters ASSIGNING <ls_filter> WHERE rule = mc_filter_rule_single_values. "#EC CI_HASHSEQ
|
||||
|
||||
ls_filter-column = <ls_filter>-column.
|
||||
LOOP AT <ls_filter>-t_values ASSIGNING <ls_value>.
|
||||
|
|
|
@ -98,7 +98,11 @@ CLASS zcl_excel_reader_2007 DEFINITION
|
|||
formula TYPE string,
|
||||
END OF ty_ref_formulae .
|
||||
TYPES:
|
||||
tyt_ref_formulae TYPE HASHED TABLE OF ty_ref_formulae WITH UNIQUE KEY sheet row column .
|
||||
* 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:
|
||||
BEGIN OF t_shared_string,
|
||||
value TYPE string,
|
||||
|
@ -361,8 +365,11 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
|
|||
row TYPE i,
|
||||
outline_level TYPE i,
|
||||
END OF lts_row_data,
|
||||
ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row.
|
||||
|
||||
* 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
|
||||
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,
|
||||
|
|
|
@ -140,11 +140,15 @@ CLASS zcl_excel_row IMPLEMENTATION.
|
|||
CHECK io_worksheet IS BOUND.
|
||||
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index.
|
||||
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
* AND row_to >= me->row_index.
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> USING KEY collapsed .
|
||||
IF <ls_row_outline>-row_from <= me->row_index
|
||||
AND <ls_row_outline>-row_to >= me->row_index.
|
||||
* End of ATC fix-issue-1014-part1
|
||||
ADD 1 TO r_outline_level.
|
||||
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -175,12 +179,21 @@ CLASS zcl_excel_row IMPLEMENTATION.
|
|||
CHECK io_worksheet IS BOUND. " But we have to see the worksheet to make sure
|
||||
|
||||
lt_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> WHERE row_from <= me->row_index
|
||||
AND row_to >= me->row_index
|
||||
AND collapsed = abap_true. " row is in a collapsed outline --> not visible
|
||||
|
||||
* Begin of ATC fix-issue-1014-part1
|
||||
* LOOP AT lt_row_outlines ASSIGNING <ls_row_outline> 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 <ls_row_outline> USING KEY collapsed.
|
||||
|
||||
IF <ls_row_outline>-row_from <= me->row_index
|
||||
AND <ls_row_outline>-row_to >= me->row_index
|
||||
AND <ls_row_outline>-collapsed = abap_true.
|
||||
|
||||
* End of ATC fix-issue-1014-part1
|
||||
CLEAR r_visible.
|
||||
RETURN. " one hit is enough to ensure invisibility
|
||||
|
||||
ENDIF. "ATC fix-issue-1014-part1
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
|
@ -22,7 +22,12 @@ CLASS zcl_excel_worksheet DEFINITION
|
|||
collapsed TYPE abap_bool,
|
||||
END OF mty_s_outline_row .
|
||||
TYPES:
|
||||
mty_ts_outlines_row TYPE SORTED TABLE OF mty_s_outline_row WITH UNIQUE KEY row_from row_to .
|
||||
* 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:
|
||||
BEGIN OF mty_s_ignored_errors,
|
||||
"! Cell reference (e.g. "A1") or list like "A1 A2" or range "A1:G1"
|
||||
|
@ -74,9 +79,10 @@ CLASS zcl_excel_worksheet DEFINITION
|
|||
col_to TYPE i,
|
||||
END OF mty_merge .
|
||||
TYPES:
|
||||
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.
|
||||
|
||||
* 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:
|
||||
ty_area TYPE c LENGTH 1 .
|
||||
|
||||
|
@ -816,7 +822,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
|
||||
CLASS zcl_excel_worksheet IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add_comment.
|
||||
|
|
|
@ -5924,7 +5924,12 @@ CLASS zcl_excel_writer_2007 IMPLEMENTATION.
|
|||
|
||||
lo_iterator TYPE REF TO zcl_excel_collection_iterator,
|
||||
lo_table TYPE REF TO zcl_excel_table,
|
||||
lt_table_areas TYPE SORTED TABLE OF lty_table_area WITH NON-UNIQUE KEY left right top bottom,
|
||||
* 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
|
||||
ls_table_area LIKE LINE OF lt_table_areas,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
|
||||
|
|
|
@ -12,7 +12,9 @@
|
|||
<KEYDEF>K</KEYDEF>
|
||||
<KEYKIND>U</KEYKIND>
|
||||
<KEYFDCOUNT>0002</KEYFDCOUNT>
|
||||
<GENERIC>X</GENERIC>
|
||||
<DDTEXT>Excel worksheet content</DDTEXT>
|
||||
<FURTHERSECKEY>W</FURTHERSECKEY>
|
||||
</DD40V>
|
||||
<DD42V>
|
||||
<DD42V>
|
||||
|
|
Loading…
Reference in New Issue
Block a user