Если данные на листе Excel очень велики, вы можете добавить “текстовый фильтр”, “числовой фильтр”, “цветовой фильтр” или “фильтр даты” в выбранную область для фильтрации данных. Отфильтрованный рабочий лист отображает нужные вам данные и скрывает остальные.
На листе, показанном ниже, вы можете добавить текстовый фильтр в столбец “категория”, чтобы на листе отображалась только одна категория данных; вы можете добавить числовой фильтр в столбец “количество”, чтобы на листе отображались строки, содержащие число от 80 до 100; вы можете добавить цветовой фильтр для отображения строк, имеющих цвет фона; вы также можете добавить фильтр даты в столбец “дата” для отображения данных в течение определенного месяца.
Давайте начнем с импорта Spire.Xls.jar файл в вашем java-приложении.
Добавить Spire.Xls.jar как зависимость
Способ 1: Скачать Бесплатный Шпиль. XLS для Java пакет, распакуйте его, и вы получите Spire.Doc.jar файл из папки “библиотека”. Импортируйте файл jar в свой проект в качестве зависимости.
Способ 2: Если вы создаете проект Maven, вы можете легко добавить зависимость jar, добавив следующие конфигурации в pom.xml .
com.e-iceblue e-iceblue http://repo.e-iceblue.com/nexus/content/groups/public/ e-iceblue spire.xls.free 2.2.0
Пример 1. Текстовый фильтр
//Create a Workbook object Workbook wb = new Workbook(); //Load a sample Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the AutoFiltersCollection object AutoFiltersCollection filters = sheet.getAutoFilters(); //Set the cell range where the filters will be added filters.setRange(sheet.getCellRange(2,2,16,5)); //Add a filter to the second column of the selected range and set the filter criteria, which is the text "C" filters.addFilter(1, "C"); //Execute filter function filters.filter(); //Save to file wb.saveToFile("TextFilter.xlsx", ExcelVersion.Version2013);
Пример 2. Числовой фильтр
//Create a Workbook object Workbook wb = new Workbook(); //Load a sample Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the AutoFiltersCollection object AutoFiltersCollection filters = sheet.getAutoFilters(); //Set the cell range where the filters will be added filters.setRange(sheet.getCellRange(2,2,16,5)); //Add a custom filter to the third column of the selected range and set the filter criteria, which is to select the number greater than or equal to 80 and less than or equal to 100 filters.customFilter(2, FilterOperatorType.GreaterOrEqual, 80, true, FilterOperatorType.LessOrEqual, 100); //Execute filter function filters.filter(); //Save to file wb.saveToFile("NumberFilter.xlsx", ExcelVersion.Version2013);
Пример 3. Цветовой фильтр
//Create a Workbook object Workbook wb = new Workbook(); //Load a sample Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the AutoFiltersCollection object AutoFiltersCollection filters = sheet.getAutoFilters(); //Set the cell range where the filters will be added filters.setRange(sheet.getCellRange(2,2,16,5)); //Add a color filter to the first column of the selected range and set the filter criteria, that is, the background color of cell B4 filters.addFillColorFilter(0, sheet.getCellRange("B4").getStyle().getColor()); //Execute filter function filters.filter(); //Save to file wb.saveToFile("ColorFilter.xlsx", ExcelVersion.Version2013);
Пример 4. Фильтр по дате
//Create a Workbook object Workbook wb = new Workbook(); //Load a sample Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the AutoFiltersCollection object AutoFiltersCollection filters = sheet.getAutoFilters(); //Set the cell range where the filters will be added filters.setRange(sheet.getCellRange(2,2,16,5)); //Add a date filter in the fourth column of the selected range, using April 2019 as the filter criteria filters.addDateFilter(3, DateTimeGroupingType.Month, 2019, 4, 1, 0, 0, 0 ); //Execute filter function filters.filter(); //Save to file wb.saveToFile("DateFilter.xlsx", ExcelVersion.Version2013);
Оригинал: “https://dev.to/eiceblue/add-filters-to-excel-in-java-cfb”