Формати файлів XLSX і XLS часто використовуються для обробки великих даних. Подібним чином автофільтри використовуються для впорядкування даних у файлах Excel. Використовуючи C# або VB.NET, ви можете легко додавати або видаляти автофільтр у файлах Excel за допомогою API Aspose.Cells for .NET. Фільтри можна використовувати для кількісної оцінки деяких даних, щоб отримати значущу інформацію. Наприклад, організація хоче відфільтрувати місяці з низькими продажами, щоб розробити та вдосконалити свої стратегії. У цій статті ми розглянемо фільтрацію даних за допомогою автоматичних фільтрів у C#:

C# VB .NET Додавання або видалення автофільтра у файлах Excel – встановлення API

API Aspose.Cells for .NET дозволяє ефективно працювати з електронними таблицями Excel. Ви можете створювати, редагувати або маніпулювати XLS, XLSX та іншими підтримуваними форматами програмним шляхом за допомогою мінімального коду. Ви можете завантажити та встановити пакет MSI або ZIP із розділу завантажень або просто встановити його через галерею NuGet у своєму рішенні. Наприклад, ви можете легко встановити його у своєму середовищі за допомогою такої команди:

Install-Package Aspose.Cells -Version 20.9.0

Після успішного встановлення API перейдемо до деяких важливих і корисних випадків використання.

Застосування автофільтра до клітинок у файлах Excel за допомогою C#

Ви можете застосувати автофільтр до певного діапазону клітинок у файлах Excel. Це дає змогу сортувати значення за зростанням або спаданням, а також інші числові фільтри, коли клітинки містять числові значення. Щоб застосувати автофільтр у файлах Excel за допомогою C#, потрібно виконати такі дії:

  1. Відкрийте файл Excel і перейдіть до Робочого аркуша
  2. Створіть Автофільтр, вказавши певний діапазон клітинок
  3. Збережіть вихідний файл 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 на знімку екрана нижче:

Автофільтр-Excel-Csharp

Додайте автофільтр дати в XLSX за допомогою C#

Дані у файлах Excel часто містять інформацію, пов’язану з датами. Іноді вам може знадобитися дослідити інформацію на основі різних періодів часу, які можна визначити за датами. Наприклад, давайте розглянемо випадок, коли нам потрібно відфільтрувати дані, пов’язані з січнем 2018 року, тоді вам потрібно виконати такі дії:

  1. Завантажити електронну таблицю введення
  2. Доступ до робочого аркуша
  3. Додайте фільтр дати та збережіть вихідний файл

Наведений нижче зразок коду виконує ці дії та показує, як додати автофільтр дати у файли 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 за допомогою C#

Як ми вже обговорювали сценарій фільтрації даних за датами. Однак у деяких сценаріях сценарій дати також може бути трохи загальнішим. Наприклад, нам потрібно відфільтрувати дані за січень незалежно від року. Такі вимоги можна легко виконати за допомогою динамічного фільтра дати, виконавши наведені нижче дії.

  1. Завантажити вхідний файл XLSX
  2. Доступ до робочого аркуша
  3. Встановіть DynamicFilter для січня
  4. Збережіть вихідний аркуш 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#

Ви можете фільтрувати дані на основі спеціального діапазону чисел за допомогою API Aspose.Cells for .NET. Наприклад, коли компанії потрібно отримати доступ до того, скільки її співробітників досягли цілей продажів. Крім того, може бути багато можливостей, де ця техніка фільтрації може допомогти. Припустімо, що нам потрібно відфільтрувати всі дані з числами в діапазоні від 5 до 10 включно, тоді вам потрібно виконати наведені нижче кроки:

  1. Створіть об’єкт Workbook і завантажте вхідний файл
  2. Додайте спеціальний фільтр чисел на певний аркуш
  3. Збережіть вихідний файл 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#

Ще один крок далі від користувацького автофільтра чисел, давайте дізнаємося, як додати користувацький автофільтр, який можна використовувати для відстеження певного тексту за допомогою оператора фільтра містить. Це може бути корисним для пошуку слів, де будь-який текст частково або повністю присутній у даних. Ви повинні виконати наступні кроки, щоб досягти цих вимог:

  1. Завантажити вхідний файл Excel з даними
  2. Укажіть діапазон AutoFilter і FilterOperatorType
  3. Збережіть вихідний файл 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 за допомогою C#

Оскільки ми вивчили різні сценарії додавання автофільтрів у файли Excel за допомогою C#, давайте перевіримо навпаки. Випадок використання видалення або видалення автофільтрів із Excel є не менш важливим і ключовим. Щоб видалити всі автофільтри з файлу XLSX, потрібно виконати наведені нижче дії.

  1. Завантажити вхідний файл XLSX
  2. Перегляньте кожен аркуш і видаліть AutoFilters
  3. Зберегти вихідний файл

У наведеному нижче фрагменті коду показано, як видалити автофільтри з файлів 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);

Висновок

API Aspose.Cells for .NET пропонує різні готові функції. Додавати, видаляти або видаляти автофільтр за допомогою C# у .NET Framework легко та просто. Ми детально обговорили кілька можливостей. Якщо у вас виникнуть сумніви чи занепокоєння, зв’яжіться з нами на безкоштовному форумі підтримки.

Дивись також