‘FilterDatabase’ issue when using Excel Interface I_OI_Spreadsheet
When the program use method ‘GET_RANGES_DATA’ of Interface ‘I_OI_SPREADSHEET’ to get cell contents from one worksheet of excel file, it may select more cells at object ‘soi_range_list’ than your expected.
The extra range has been selected named as worksheet name concatenated with ‘_FilterDatabase’ like below:
The extra cell range comes from the filter functions added inside that specific excel worksheet.
Even if you remove the filters at this specific worksheet, still method ‘GET_RANGES_DATA’ will fetch those cells. Don’t know if it’s caused by Excel store those hidden ranges somewhere or not.
Two options I find out :
- Copy the contents of this specific worksheet (contains Filter) and paste into the new worksheet without a filter to replace the old one, then it’ll running perfectly.
- Another way to prevent extra selection may delete the range which name ending with ‘_FilterDatabase’.
Hope it helps if you encounter the same issue and please add comments if you have a better approach : )
_FilterDatabase is an internal name added by Excel when AutoFilter is used. More information:
I don't know your goal, but you may read first the list of all existing names with GET_RANGES_NAMES or GET_DIMENSION_TABLE instead of reading all cell data, or use GET_RANGES_DATA to read the data of one range only.
But generally speaking, I would recommend abap2xlsx because there are lots of examples and it works in background too.