Фільтрування інформації в електронних таблицях Excel є важливою функцією. Це дозволяє приховати нерелевантні дані та відобразити лише дані, які відповідають певним критеріям. Існують сценарії, коли фільтрація даних може виявитися корисною. Наприклад, організація може захотіти відфільтрувати низькоефективні продукти зі звіту про продажі, щоб проаналізувати та покращити свої стратегії продажів. У цій статті ви дізнаєтесь, як додати або видалити автофільтр у файлах Excel за допомогою C++.
- C++ API для додавання та видалення автофільтра у файлах Excel
- Застосуйте автофільтр у файлах Excel за допомогою C++
- Додайте автофільтр дат у файли Excel за допомогою C++
- Додайте динамічний автофільтр дат у файл Excel за допомогою C++
- Застосуйте спеціальний автофільтр у файлах Excel за допомогою C++
- Видаліть автофільтр із файлів Excel
C++ API для додавання та видалення автофільтра у файлах Excel
Ми будемо використовувати API Aspose.Cells for C++ для додавання та видалення автофільтра у файлах Excel. Це рідна бібліотека C++, яка дозволяє створювати, читати та змінювати файли Excel без встановлення Microsoft Excel. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.
PM> Install-Package Aspose.Cells.Cpp
Застосуйте автофільтр у файлах Excel за допомогою C++
Ви можете застосувати автофільтр до діапазону клітинок. Автофільтри дозволяють сортувати та фільтрувати значення в заданому діапазоні клітинок. Нижче наведено кроки, щоб додати автофільтр у файли Excel.
- По-перше, завантажте файл Excel за допомогою класу IWorkbook.
- Отримайте робочий аркуш, до якого потрібно застосувати автофільтр, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Застосуйте автофільтр за допомогою IWorksheet->GetIAutoFilter()->SetRange(intrusiveptr)Aspose::Cells::Systems::String значення) метод.
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як застосувати автофільтр до діапазону клітинок у файлі Excel за допомогою C++.
// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");
// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Завантажте вихідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));
// Перейдіть до першого аркуша у файлі Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Створення автофільтра шляхом надання діапазону клітинок
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));
// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Додайте автофільтр дат у файли Excel за допомогою C++
Файли Excel можуть містити дані на основі дат. Ви можете опинитися в ситуації, коли вам потрібно буде фільтрувати й аналізувати дані на основі різних дат. Тому фільтр дати виявиться корисним у таких сценаріях. Нижче наведено кроки, щоб додати автофільтр дат у файли Excel.
- По-перше, завантажте файл Excel за допомогою класу IWorkbook.
- Отримайте робочий аркуш, до якого потрібно застосувати автофільтр, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Застосуйте автофільтр дати за допомогою IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 рік, Aspose ::Cells::Systems::Int32 місяць, Aspose::Cells::Systems::Int32 день, Aspose::Cells::Systems::Int32 година, Aspose::Cells::Systems::Int32 хвилина, Aspose:: Метод Cells::Systems::Int32 second).
- Щоб оновити аркуш, скористайтеся методом IWorksheet->GetIAutoFilter()->Refresh().
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
Наведений нижче приклад коду демонструє, як додати автофільтр дат у файли Excel за допомогою C++.
// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");
// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Завантажте вихідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Перейдіть до першого аркуша у файлі Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Викличте функцію AddDateFilter, щоб застосувати фільтр
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);
// Викличте функцію Refresh, щоб оновити аркуш
worksheet->GetIAutoFilter()->Refresh();
// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
Додайте динамічний автофільтр дат у файл Excel за допомогою C++
Можуть бути випадки, коли вам потрібен більш загальний фільтр дати, наприклад місяць незалежно від року або місяць перед поточним місяцем. Для подібних сценаріїв ви можете використовувати динамічний автофільтр для фільтрації даних. Нижче наведено кроки для фільтрації даних за допомогою динамічного автофільтра дат.
- По-перше, завантажте файл Excel за допомогою класу IWorkbook.
- Отримайте робочий аркуш, до якого потрібно застосувати автофільтр, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Застосуйте DynamicFilter за допомогою методу IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType).
- Щоб оновити аркуш, скористайтеся методом IWorksheet->GetIAutoFilter()->Refresh().
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
Наведений нижче приклад коду демонструє, як додати динамічний автофільтр дат у файл Excel за допомогою C++.
// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");
// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Завантажте вихідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Перейдіть до першого аркуша у файлі Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Викличте функцію DynamicFilter, щоб застосувати фільтр
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);
// Викличте функцію Refresh, щоб оновити аркуш
worksheet->GetIAutoFilter()->Refresh();
// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
Застосуйте спеціальний автофільтр у файлах Excel за допомогою C++
Якщо ви хочете застосувати спеціальний автофільтр, Aspose.Cells for C++ API допоможе вам. Використовуючи API, ви можете застосувати спеціальний автофільтр у файлах Excel відповідно до ваших конкретних вимог. Нижче наведено кроки, щоб додати спеціальний автофільтр у файли Excel.
- По-перше, завантажте файл Excel за допомогою класу IWorkbook.
- Отримайте робочий аркуш, до якого потрібно застосувати автофільтр, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Застосуйте спеціальний автофільтр за допомогою IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptrAspose::Cells::Systems::Object критерії1) метод.
- Викличте метод IWorksheet->GetIAutoFilter()->Refresh(), щоб оновити робочий аркуш.
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як додати спеціальний автофільтр у файли Excel за допомогою C++.
// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");
// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Завантажте вихідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));
// Перейдіть до першого аркуша у файлі Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Викличте спеціальну функцію, щоб застосувати фільтр
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// Викличте функцію Refresh, щоб оновити аркуш
worksheet->GetIAutoFilter()->Refresh();
// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
Видаліть автофільтр із файлів Excel
У попередніх розділах ви дізналися, як додавати різні автофільтри у файли Excel. Окрім додавання автофільтрів, ви також можете видалити їх за допомогою Aspose.Cells for C++ API. Нижче наведено кроки для видалення автофільтрів із файлів Excel.
- По-перше, завантажте файл Excel за допомогою класу IWorkbook.
- Отримайте робочий аркуш, з якого ви хочете видалити автофільтр, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Видаліть AutoFilter за допомогою методу IWorksheet->RemoveAutoFilter().
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як видалити автофільтр із файлу Excel за допомогою C++.
// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");
// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Завантажте вихідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));
// Перейдіть до першого аркуша у файлі Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Видаліть автофільтри
worksheet->RemoveAutoFilter();
// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
Отримайте безкоштовну ліцензію
Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як додавати та видаляти автофільтри з файлів Excel за допомогою C++. Зокрема, ви навчилися додавати автофільтри за замовчуванням, дату, динамічну дату та власні автофільтри. Ви також бачили, як видалити AutoFilter за допомогою Aspose.Cells for C++ API. API надає багато додаткових функцій для роботи з файлами Excel. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.