From 90992efb505ad18277f1b3a3cd16d5452de0b6c2 Mon Sep 17 00:00:00 2001 From: sandraros <34005250+sandraros@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:20:18 +0200 Subject: [PATCH] Fix #546 autofilter on row>1 and one-row height (#822) Fix #546 Co-authored-by: sandraros --- src/zcl_excel_autofilter.clas.abap | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/zcl_excel_autofilter.clas.abap b/src/zcl_excel_autofilter.clas.abap index 0d693a5..64aee95 100644 --- a/src/zcl_excel_autofilter.clas.abap +++ b/src/zcl_excel_autofilter.clas.abap @@ -400,6 +400,7 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. METHOD validate_area. DATA: l_col TYPE zexcel_cell_column, + ls_original_filter_area TYPE zexcel_s_autofilter_area, l_row TYPE zexcel_cell_row. l_row = worksheet->get_highest_row( ) . @@ -412,6 +413,11 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. filter_area-col_end = l_col . ENDIF. + IF filter_area-row_start > filter_area-row_end. + ls_original_filter_area = filter_area. + filter_area-row_start = ls_original_filter_area-row_end. + filter_area-row_end = ls_original_filter_area-row_start. + ENDIF. IF filter_area-row_start < 1. filter_area-row_start = 1. ENDIF. @@ -426,13 +432,6 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. filter_area-col_end < 1. filter_area-col_end = l_col. ENDIF. - IF filter_area-row_start >= filter_area-row_end. - filter_area-row_start = filter_area-row_end - 1. - IF filter_area-row_start < 1. - filter_area-row_start = 1. - filter_area-row_end = 2. - ENDIF. - ENDIF. IF filter_area-col_start > filter_area-col_end. filter_area-col_start = filter_area-col_end. ENDIF.