From 59a5849d27a1d9e2eab16fff9d2287043e534fca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20H=C3=BCtk=C3=B6per?= Date: Tue, 15 Oct 2024 16:08:00 +0200 Subject: [PATCH] Performance improvement for skip hidden rows Performance improvement for skip hidden rows --- src/zcl_excel_writer_csv.clas.abap | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/zcl_excel_writer_csv.clas.abap b/src/zcl_excel_writer_csv.clas.abap index e4684d5..4c0dbc8 100644 --- a/src/zcl_excel_writer_csv.clas.abap +++ b/src/zcl_excel_writer_csv.clas.abap @@ -100,6 +100,7 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION. lo_worksheet TYPE REF TO zcl_excel_worksheet. 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, lv_row TYPE i, @@ -176,6 +177,13 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION. CLEAR lv_string. LOOP AT lt_cell_data ASSIGNING . +* --- 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 = -cell_row ). + ENDIF. + ENDAT. + * --- Add empty rows WHILE lv_row < -cell_row. CONCATENATE lv_string zcl_excel_writer_csv=>eol INTO lv_string. @@ -184,9 +192,7 @@ CLASS ZCL_EXCEL_WRITER_CSV IMPLEMENTATION. ENDWHILE. * --- Skip hidden rows - IF skip_hidden_rows = abap_true AND - lo_autofilter IS NOT INITIAL AND - lo_autofilter->is_row_hidden( iv_row = -cell_row ) = abap_true. + IF lv_row_hidden = abap_true. lv_row = -cell_row + 1. lv_col = 1. CONTINUE.