Форматы файлов XLSX и XLS часто используются для работы с огромными данными. Аналогичным образом автофильтры используются для организации данных в файлах Excel. Вы можете легко добавить или удалить автофильтр в файлах Excel с помощью Aspose.Cells for .NET API. Фильтры можно использовать для количественной оценки некоторых данных для извлечения некоторой значимой информации. Например, организация хочет отфильтровать месяцы с низкими продажами, чтобы разработать и улучшить свои стратегии. В этой статье мы рассмотрим фильтрацию данных с помощью автоматических фильтров в C#:
- Добавление или удаление автофильтра в файлах Excel — установка API
- Применение автофильтра к ячейкам в файлах Excel с помощью С#
- Добавить автофильтр даты в XLSX с помощью С#
- Добавить автофильтр динамической даты в XLSX с помощью С#
- Применить автофильтр пользовательских номеров в XLSX с C#
- Добавить пользовательский автофильтр с содержит с помощью C#
- Удалить или удалить автофильтр в Excel с помощью С#
Добавление или удаление автофильтра в файлах Excel — установка API
Aspose.Cells for .NET API позволяет эффективно работать с электронными таблицами Excel. Вы можете программно создавать, редактировать или манипулировать XLS, XLSX и другими поддерживаемыми форматами с минимальным кодом. Вы можете загрузить и установить пакет MSI или ZIP из раздела загрузок или просто установить его через галерею NuGet в своем решении. Например, вы можете легко установить его в своей среде с помощью следующей команды:
Install-Package Aspose.Cells -Version 20.9.0
После успешной установки API давайте приступим к некоторым важным и полезным вариантам использования.
Применение автофильтра к ячейкам в файлах Excel с помощью С#
Вы можете применить автофильтр к определенному диапазону ячеек в файлах Excel. Это позволяет сортировать значения в порядке возрастания или убывания, а также использовать другие числовые фильтры, когда ячейки содержат числовые значения. Вам необходимо выполнить следующие шаги для применения автофильтра в файлах Excel с помощью C#:
- Откройте файл Excel и получите доступ к Рабочему листу.
- Создайте Автофильтр, указав определенный диапазон ячеек
- Сохранить выходной файл XLS/XLSX
Фрагмент кода показывает, как применить автофильтр к ячейкам в файле Excel с помощью C#:
// Создание экземпляра объекта Workbook
// Открытие файла Excel через файловый поток
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");
// Доступ к первому рабочему листу в файле Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Создание автофильтра путем указания диапазона ячеек строки заголовка
worksheet.AutoFilter.Range = "A1:B1";
// Сохранение измененного файла Excel
workbook.Save(dataDir + "output.xlsx");
Вы можете заметить автофильтр, добавленный в исходный файл XLSX, на снимке экрана ниже:

Добавить автофильтр даты в XLSX с помощью С#
Данные в файлах Excel часто содержат информацию, связанную с датами. Иногда вам может понадобиться изучить информацию, основанную на различных периодах времени, которые можно определить по датам. Например, давайте рассмотрим случай, когда нам нужно отфильтровать данные, относящиеся к январю 2018 года, тогда вам необходимо выполнить следующие шаги:
- Загрузить таблицу ввода
- Доступ к рабочему листу
- Добавьте фильтр даты и сохраните выходной файл
Следующий пример кода следует этим шагам и показывает, как добавить автофильтр даты в файлы Excel с помощью C#.
// Создание экземпляра объекта Workbook
// Открытие файла Excel через файловый поток
Workbook workbook = new Workbook(dataDir + "Date.xlsx");
// Доступ к первому рабочему листу в файле Excel
Worksheet worksheet = workbook.Worksheets[0];
// Вызовите функцию AddDateFilter, чтобы применить фильтр
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);
// Вызовите функцию обновления, чтобы обновить рабочий лист
worksheet.AutoFilter.Refresh();
// Сохранение измененного файла Excel
workbook.Save(dataDir + "FilteredDate.xlsx");
Добавить автофильтр динамической даты в XLSX с помощью С#
Поскольку мы уже обсуждали сценарий фильтрации данных по датам. Однако в некоторых случаях сценарий даты может быть немного более общим. Например, нам нужно отфильтровать данные за январь независимо от года. Такие требования можно легко обработать с помощью динамического фильтра даты, выполнив следующие действия:
- Загрузить исходный файл XLSX
- Доступ к рабочему листу
- Установите DynamicFilter для января.
- Сохранить выходной лист Excel
Этот пример является продолжением приведенного выше примера, где приведенный ниже фрагмент кода показывает, как добавить автофильтр динамической даты в файл Excel с помощью C#:
// Создание экземпляра объекта Workbook
// Открытие файла Excel через файловый поток
Workbook workbook = new Workbook(dataDir + "Date.xlsx");
// Доступ к первому рабочему листу в файле Excel
Worksheet worksheet = workbook.Worksheets[0];
// Вызовите функцию DynamicFilter, чтобы применить фильтр
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);
// Вызовите функцию обновления, чтобы обновить рабочий лист
worksheet.AutoFilter.Refresh();
// Сохранение измененного файла Excel
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");
Применить автофильтр пользовательских номеров в XLSX с C#
Вы можете фильтровать данные на основе пользовательского диапазона чисел, используя Aspose.Cells для .NET API. Например, когда компании необходимо получить доступ к тому, сколько ее сотрудников достигли целей продаж. Точно так же может быть много возможностей, где этот метод фильтрации может помочь. Предположим, что нам нужно отфильтровать все данные, где числа находятся в диапазоне от 5 до 10 включительно, тогда вам необходимо выполнить следующие шаги:
- Создайте экземпляр объекта Workbook и загрузите входной файл
- Добавить пользовательский числовой фильтр на определенный лист
- Сохранить выходной файл Excel
На основе этих шагов в следующем коде показано, как добавить автофильтр по пользовательскому номеру с помощью C#:
// Создание экземпляра объекта Workbook
// Открытие файла Excel через файловый поток
Workbook workbook = new Workbook(dataDir + "Number.xlsx");
// Доступ к первому рабочему листу в файле Excel
Worksheet worksheet = workbook.Worksheets[0];
// Вызов пользовательской функции для применения фильтра
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);
// Вызовите функцию обновления, чтобы обновить рабочий лист
worksheet.AutoFilter.Refresh();
// Сохранение измененного файла Excel
workbook.Save(dataDir + "FilteredNumber.xlsx");
Добавить пользовательский автофильтр с содержит с помощью C#
Сделав еще один шаг дальше от настраиваемого автофильтра по номерам, давайте узнаем, как добавить настраиваемый автофильтр, который можно использовать для отслеживания определенного текста с помощью оператора «Содержит фильтр». Может быть полезно искать слова, в которых какой-либо текст частично или полностью присутствует в данных. Для выполнения этих требований необходимо выполнить следующие шаги:
- Загрузить входной файл Excel с данными
- Укажите диапазон AutoFilter и FilterOperatorType.
- Сохранить выходной файл XLSX
В приведенном ниже фрагменте кода показано, как добавить пользовательский автофильтр с параметром «Содержит» с помощью C#:
// Создание экземпляра объекта Workbook, содержащего образцы данных
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");
// Доступ к первому рабочему листу в файле Excel
Worksheet worksheet = workbook.Worksheets[0];
// Создание автофильтра путем указания диапазона ячеек
worksheet.AutoFilter.Range = "A1:A18";
// Инициализировать фильтр для строк, содержащих строку «Ba»
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");
//Обновите фильтр, чтобы показать/скрыть отфильтрованные строки
worksheet.AutoFilter.Refresh();
// Сохранение измененного файла Excel
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");
Удалить или удалить автофильтр в Excel с помощью С#
Поскольку мы изучили различные сценарии добавления автофильтров в файлы Excel с помощью C#, давайте проверим наоборот. Случай использования удаления или удаления автофильтров из Excel одинаково важен и имеет решающее значение. Вам необходимо выполнить следующие шаги, чтобы удалить все автофильтры из файла XLSX:
- Загрузить исходный файл XLSX
- Переберите каждый рабочий лист и удалите автофильтры.
- Сохранить выходной файл
В следующем фрагменте кода показано, как удалить автофильтры из файлов Excel с помощью C#.
// Создание экземпляра объекта Workbook
// Открытие файла Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Итерация по каждому рабочему листу
foreach (var sheet in workbook.Worksheets)
{
// Удалить автофильтры
sheet.RemoveAutoFilter();
}
// Сохраните книгу
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);
Вывод
Aspose.Cells for .NET API предлагает различные готовые функции. Добавление, удаление или удаление автофильтра с помощью C# в .NET Framework выполняется просто и легко. Мы подробно обсудили несколько возможностей. Если у вас есть какие-либо сомнения или сомнения, свяжитесь с нами на Форум бесплатной поддержки.