Update zcl_excel_worksheet.clas.abap

This commit is contained in:
Bernd 2024-02-04 14:32:59 +01:00 committed by GitHub
parent b87432c5a2
commit 476c809a32
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1918,7 +1918,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
METHOD check_rtf. METHOD check_rtf.
DATA: lo_style TYPE REF TO zcl_excel_style, DATA: lo_style TYPE REF TO zcl_excel_style,
lo_iterator TYPE REF TO zcl_excel_collection_iterator,
lv_next_rtf_offset TYPE i, lv_next_rtf_offset TYPE i,
lv_tabix TYPE i, lv_tabix TYPE i,
lv_value TYPE string, lv_value TYPE string,
@ -1930,14 +1929,13 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
ip_style = excel->get_default_style( ). ip_style = excel->get_default_style( ).
ENDIF. ENDIF.
lo_iterator = excel->get_styles_iterator( ). " If there is no style available ls_rtf-font remains initial
WHILE lo_iterator->has_next( ) = abap_true. IF ip_style IS NOT INITIAL.
lo_style ?= lo_iterator->get_next( ). lo_style = excel->get_style_from_guid( ip_style ).
IF lo_style->get_guid( ) = ip_style. IF lo_style IS BOUND.
EXIT. ls_rtf-font = lo_style->font->get_structure( ).
ENDIF.
ENDIF. ENDIF.
CLEAR lo_style.
ENDWHILE.
lv_next_rtf_offset = 0. lv_next_rtf_offset = 0.
LOOP AT ct_rtf ASSIGNING <rtf>. LOOP AT ct_rtf ASSIGNING <rtf>.
@ -1945,12 +1943,9 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
IF lv_next_rtf_offset < <rtf>-offset. IF lv_next_rtf_offset < <rtf>-offset.
ls_rtf-offset = lv_next_rtf_offset. ls_rtf-offset = lv_next_rtf_offset.
ls_rtf-length = <rtf>-offset - lv_next_rtf_offset. ls_rtf-length = <rtf>-offset - lv_next_rtf_offset.
ls_rtf-font = lo_style->font->get_structure( ).
INSERT ls_rtf INTO ct_rtf INDEX lv_tabix. INSERT ls_rtf INTO ct_rtf INDEX lv_tabix.
ELSEIF lv_next_rtf_offset > <rtf>-offset. ELSEIF lv_next_rtf_offset > <rtf>-offset.
RAISE EXCEPTION TYPE zcx_excel zcx_excel=>raise_text( 'Gaps or overlaps in RTF data offset/length specs' ).
EXPORTING
error = 'Gaps or overlaps in RTF data offset/length specs'.
ENDIF. ENDIF.
lv_next_rtf_offset = <rtf>-offset + <rtf>-length. lv_next_rtf_offset = <rtf>-offset + <rtf>-length.
ENDLOOP. ENDLOOP.
@ -1960,12 +1955,9 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
IF lv_val_length > lv_next_rtf_offset. IF lv_val_length > lv_next_rtf_offset.
ls_rtf-offset = lv_next_rtf_offset. ls_rtf-offset = lv_next_rtf_offset.
ls_rtf-length = lv_val_length - lv_next_rtf_offset. ls_rtf-length = lv_val_length - lv_next_rtf_offset.
ls_rtf-font = lo_style->font->get_structure( ).
INSERT ls_rtf INTO TABLE ct_rtf. INSERT ls_rtf INTO TABLE ct_rtf.
ELSEIF lv_val_length > lv_next_rtf_offset. ELSEIF lv_val_length < lv_next_rtf_offset.
RAISE EXCEPTION TYPE zcx_excel zcx_excel=>raise_text( 'RTF specs length is not equal to value length' ).
EXPORTING
error = 'RTF specs length is not equal to value length'.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.