Update zcl_excel_writer_2007.clas.locals_imp.abap

This commit is contained in:
Bernd 2024-02-01 10:46:01 +01:00 committed by GitHub
parent 0686c3616d
commit b87432c5a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -878,6 +878,7 @@ CLASS lcl_create_xl_sheet IMPLEMENTATION.
lv_column_start TYPE zexcel_cell_column_alpha,
lv_row_start TYPE zexcel_cell_row,
lv_cell_coords TYPE zexcel_cell_coords,
lv_operator TYPE string,
ls_expression TYPE zexcel_conditional_expression,
ls_conditional_top10 TYPE zexcel_conditional_top10,
ls_conditional_above_avg TYPE zexcel_conditional_above_avg,
@ -1163,20 +1164,12 @@ CLASS lcl_create_xl_sheet IMPLEMENTATION.
CONDENSE lv_value.
lo_element_2->set_attribute_ns( name = lc_xml_attr_dxfid
value = lv_value ).
IF ls_textfunction-textfunction = zcl_excel_style_cond=>c_textfunction_notcontains.
lv_value = zcl_excel_style_cond=>c_operator_notcontains.
ELSE.
lv_value = ls_textfunction-textfunction.
ENDIF.
lo_element_2->set_attribute_ns( name = lc_xml_attr_operator
value = lv_value ).
" text
lv_value = ls_textfunction-text.
lo_element_2->set_attribute_ns( name = lc_xml_attr_text
value = lv_value ).
" formula node
" operator & formula node
zcl_excel_common=>convert_range2column_a_row(
EXPORTING
i_range = lo_style_cond->get_dimension_range( )
@ -1186,17 +1179,25 @@ CLASS lcl_create_xl_sheet IMPLEMENTATION.
lv_cell_coords = |{ lv_column_start }{ lv_row_start }|.
CASE ls_textfunction-textfunction.
WHEN zcl_excel_style_cond=>c_textfunction_beginswith.
lv_operator = zcl_excel_style_cond=>c_operator_beginswith.
lv_value = |LEFT({ lv_cell_coords },LEN("{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }"))=|
&& |"{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }"|.
WHEN zcl_excel_style_cond=>c_textfunction_containstext.
lv_operator = zcl_excel_style_cond=>c_operator_containstext.
lv_value = |NOT(ISERROR(SEARCH("{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }",{ lv_cell_coords })))|.
WHEN zcl_excel_style_cond=>c_textfunction_endswith.
lv_operator = zcl_excel_style_cond=>c_operator_endswith.
lv_value = |RIGHT({ lv_cell_coords },LEN("{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }"))=|
&& |"{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }"|.
WHEN zcl_excel_style_cond=>c_textfunction_notcontains.
lv_operator = zcl_excel_style_cond=>c_operator_notcontains.
lv_value = |ISERROR(SEARCH("{ escape( val = ls_textfunction-text format = cl_abap_format=>e_html_text ) }",{ lv_cell_coords }))|.
WHEN OTHERS.
lv_operator = ls_textfunction-textfunction.
CLEAR lv_value.
ENDCASE.
lo_element_2->set_attribute_ns( name = lc_xml_attr_operator
value = lv_operator ).
lo_element_3 = o_document->create_simple_element( name = lc_xml_node_formula
parent = o_document ).
lo_element_3->set_value( value = lv_value ).