Performance improvement for skip hidden rows

Performance improvement for skip hidden rows
This commit is contained in:
Oliver Hütköper 2024-10-15 16:08:00 +02:00 committed by GitHub
parent a9c31f1715
commit 59a5849d27
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -100,6 +100,7 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION.
lo_worksheet TYPE REF TO zcl_excel_worksheet. lo_worksheet TYPE REF TO zcl_excel_worksheet.
DATA: lo_autofilter TYPE REF TO zcl_excel_autofilter. DATA: lo_autofilter TYPE REF TO zcl_excel_autofilter.
DATA: lv_row_hidden TYPE abap_bool.
DATA: lt_cell_data TYPE zexcel_t_cell_data_unsorted, DATA: lt_cell_data TYPE zexcel_t_cell_data_unsorted,
lv_row TYPE i, lv_row TYPE i,
@ -176,6 +177,13 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION.
CLEAR lv_string. CLEAR lv_string.
LOOP AT lt_cell_data ASSIGNING <fs_sheet_content>. LOOP AT lt_cell_data ASSIGNING <fs_sheet_content>.
* --- Check, if row is hidden
AT NEW cell_row.
IF lo_autofilter IS NOT INITIAL.
lv_row_hidden = lo_autofilter->is_row_hidden( iv_row = <fs_sheet_content>-cell_row ).
ENDIF.
ENDAT.
* --- Add empty rows * --- Add empty rows
WHILE lv_row < <fs_sheet_content>-cell_row. WHILE lv_row < <fs_sheet_content>-cell_row.
CONCATENATE lv_string zcl_excel_writer_csv=>eol INTO lv_string. CONCATENATE lv_string zcl_excel_writer_csv=>eol INTO lv_string.
@ -184,9 +192,7 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION.
ENDWHILE. ENDWHILE.
* --- Skip hidden rows * --- Skip hidden rows
IF skip_hidden_rows = abap_true AND IF lv_row_hidden = abap_true.
lo_autofilter IS NOT INITIAL AND
lo_autofilter->is_row_hidden( iv_row = <fs_sheet_content>-cell_row ) = abap_true.
lv_row = <fs_sheet_content>-cell_row + 1. lv_row = <fs_sheet_content>-cell_row + 1.
lv_col = 1. lv_col = 1.
CONTINUE. CONTINUE.