mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-06 01:07:13 +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,9 +1372,14 @@ 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.
|
||||
IF l_hidden < ls_sort_values-sort_level.
|
||||
l_hidden = ls_sort_values-sort_level.
|
||||
* 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.
|
||||
|
@ -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.
|
||||
<fs_sortv>-row_int = l_row_int.
|
||||
* 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.
|
||||
|
|
|
@ -4,46 +4,56 @@
|
|||
|
||||
TYPES ty_style_type TYPE c LENGTH 1.
|
||||
|
||||
TYPES: BEGIN OF ts_alv_types,
|
||||
seoclass TYPE seoclsname,
|
||||
clsname TYPE seoclsname,
|
||||
END OF ts_alv_types,
|
||||
tt_alv_types TYPE HASHED TABLE OF ts_alv_types WITH UNIQUE KEY seoclass.
|
||||
TYPES: BEGIN OF ts_alv_types,
|
||||
seoclass TYPE seoclsname,
|
||||
clsname TYPE seoclsname,
|
||||
END OF ts_alv_types,
|
||||
tt_alv_types TYPE HASHED TABLE OF ts_alv_types WITH UNIQUE KEY seoclass.
|
||||
|
||||
TYPES: BEGIN OF ts_sort_values,
|
||||
fieldname TYPE fieldname,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
value TYPE REF TO data,
|
||||
new TYPE flag,
|
||||
sort_level TYPE int4,
|
||||
is_collapsed TYPE flag,
|
||||
END OF ts_sort_values,
|
||||
TYPES: BEGIN OF ts_sort_values,
|
||||
fieldname TYPE fieldname,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
value TYPE REF TO data,
|
||||
new TYPE flag,
|
||||
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.
|
||||
TYPES: BEGIN OF ts_subtotal_rows,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
row_int_start TYPE zexcel_cell_row,
|
||||
columnname TYPE fieldname,
|
||||
END OF ts_subtotal_rows,
|
||||
* 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,
|
||||
columnname TYPE fieldname,
|
||||
END OF ts_subtotal_rows,
|
||||
|
||||
tt_subtotal_rows TYPE HASHED TABLE OF ts_subtotal_rows WITH UNIQUE KEY row_int.
|
||||
tt_subtotal_rows TYPE HASHED TABLE OF ts_subtotal_rows WITH UNIQUE KEY row_int.
|
||||
|
||||
TYPES: BEGIN OF ts_styles,
|
||||
type TYPE ty_style_type,
|
||||
alignment TYPE zexcel_alignment,
|
||||
inttype TYPE abap_typekind,
|
||||
decimals TYPE int1,
|
||||
style TYPE REF TO zcl_excel_style,
|
||||
guid TYPE zexcel_cell_style,
|
||||
END OF ts_styles,
|
||||
TYPES: BEGIN OF ts_styles,
|
||||
type TYPE ty_style_type,
|
||||
alignment TYPE zexcel_alignment,
|
||||
inttype TYPE abap_typekind,
|
||||
decimals TYPE int1,
|
||||
style TYPE REF TO zcl_excel_style,
|
||||
guid TYPE zexcel_cell_style,
|
||||
END OF ts_styles,
|
||||
* 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
|
||||
|
||||
tt_styles TYPE HASHED TABLE OF ts_styles WITH UNIQUE KEY type alignment inttype decimals.
|
||||
TYPES: BEGIN OF ts_color_styles,
|
||||
guid_old TYPE zexcel_cell_style,
|
||||
fontcolor TYPE zexcel_style_color_argb,
|
||||
fillcolor TYPE zexcel_style_color_argb,
|
||||
style_new TYPE REF TO zcl_excel_style,
|
||||
END OF ts_color_styles,
|
||||
|
||||
TYPES: BEGIN OF ts_color_styles,
|
||||
guid_old TYPE zexcel_cell_style,
|
||||
fontcolor TYPE zexcel_style_color_argb,
|
||||
fillcolor TYPE zexcel_style_color_argb,
|
||||
style_new TYPE REF TO zcl_excel_style,
|
||||
END OF ts_color_styles,
|
||||
|
||||
tt_color_styles TYPE HASHED TABLE OF ts_color_styles WITH UNIQUE KEY guid_old fontcolor fillcolor.
|
||||
tt_color_styles TYPE HASHED TABLE OF ts_color_styles WITH UNIQUE KEY guid_old fontcolor fillcolor.
|
||||
|
|
|
@ -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.
|
||||
|
||||
ADD 1 TO r_outline_level.
|
||||
|
||||
* 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
|
||||
CLEAR r_visible.
|
||||
RETURN. " one hit is enough to ensure invisibility
|
||||
|
||||
* 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"
|
||||
|
@ -73,10 +78,11 @@ CLASS zcl_excel_worksheet DEFINITION
|
|||
col_from TYPE i,
|
||||
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.
|
||||
|
||||
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:
|
||||
ty_area TYPE c LENGTH 1 .
|
||||
|
||||
|
@ -776,15 +782,15 @@ CLASS zcl_excel_worksheet DEFINITION
|
|||
iv_default_descr TYPE c
|
||||
it_field_catalog TYPE zexcel_t_fieldcatalog
|
||||
RETURNING
|
||||
VALUE(result) TYPE zexcel_t_fieldcatalog.
|
||||
VALUE(result) TYPE zexcel_t_fieldcatalog.
|
||||
METHODS normalize_columnrow_parameter
|
||||
IMPORTING
|
||||
ip_columnrow TYPE csequence OPTIONAL
|
||||
ip_column TYPE simple OPTIONAL
|
||||
ip_row TYPE zexcel_cell_row OPTIONAL
|
||||
ip_columnrow TYPE csequence OPTIONAL
|
||||
ip_column TYPE simple OPTIONAL
|
||||
ip_row TYPE zexcel_cell_row OPTIONAL
|
||||
EXPORTING
|
||||
ep_column TYPE zexcel_cell_column
|
||||
ep_row TYPE zexcel_cell_row
|
||||
ep_column TYPE zexcel_cell_column
|
||||
ep_row TYPE zexcel_cell_row
|
||||
RAISING
|
||||
zcx_excel.
|
||||
METHODS normalize_range_parameter
|
||||
|
@ -816,7 +822,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
|
||||
CLASS zcl_excel_worksheet IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add_comment.
|
||||
|
@ -2969,9 +2975,9 @@ CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
|
|||
lv_syindex TYPE c LENGTH 3,
|
||||
lt_column_name_buffer TYPE SORTED TABLE OF string WITH UNIQUE KEY table_line.
|
||||
FIELD-SYMBOLS: <ls_field_catalog> TYPE zexcel_s_fieldcatalog,
|
||||
<scrtxt1> TYPE any,
|
||||
<scrtxt2> TYPE any,
|
||||
<scrtxt3> TYPE any.
|
||||
<scrtxt1> TYPE any,
|
||||
<scrtxt2> TYPE any,
|
||||
<scrtxt3> TYPE any.
|
||||
|
||||
" Due restrinction of new table object we cannot have two column with the same name
|
||||
" Check if a column with the same name exists, if exists add a counter
|
||||
|
|
|
@ -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,
|
||||
|
||||
|
@ -6264,7 +6269,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
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -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