Как фильтровать пустые и не пустые ячейки с помощью C++

Возможные сценарии использования

Фильтрация данных в Excel – это ценный инструмент, который улучшает анализ, исследование и презентацию данных, позволяя пользователям сосредоточиться на конкретных подмножествах данных в соответствии с их критериями, что делает общий процесс манипулирования данными и их интерпретации более эффективным и эффективным.

Как фильтровать пустые или непустые ячейки в Excel

В Excel вы можете легко фильтровать пустые или непустые ячейки с помощью опций фильтрации. Вот как это можно сделать:

Как фильтровать пустые ячейки в Excel

  1. Выберите диапазон: Щелкните на букве заголовка столбца, чтобы выбрать весь столбец или выберите диапазон, в котором хотите отфильтровать пустые ячейки.
  2. Откройте меню Фильтр: перейдите на вкладку “Данные” на ленте.
  3. Варианты фильтра: нажмите кнопку “Фильтр”. Это добавит стрелки фильтрации к выбранному диапазону.
  4. Отфильтруйте пустые ячейки: Щелкните на стрелке фильтра в столбце, который вы хотите отфильтровать пустыми. Снимите все параметры, кроме «Пустые», и нажмите OK. Это отобразит только пустые ячейки в этом столбце.
  5. Результат следующий:

Как фильтровать непустые ячейки в Excel

  1. Выберите диапазон: нажмите на букву заголовка столбца, чтобы выбрать весь столбец, или выберите диапазон, в котором хотите отфильтровать непустые ячейки.
  2. Откройте меню Фильтр: перейдите на вкладку “Данные” на ленте.
  3. Варианты фильтра: нажмите кнопку “Фильтр”. Это добавит стрелки фильтрации к выбранному диапазону.
  4. Фильтрация непустых ячеек: нажмите на стрелку фильтра в столбце, который хотите отфильтровать по непустоте. Снимите выбор со всех вариантов, кроме “Непустые” или “Пользовательский”, и установите условия соответственно. Нажмите ОК. Это отобразит только ячейки, которые не пустые в этом столбце.
  5. Результат следующий:

Как фильтровать пустые ячейки с помощью Aspose.Cells

Если в столбце содержится текст, такой что несколько ячеек пусты, и требуется фильтрация для выбора только тех строк, где присутствуют пустые ячейки, функции AutoFilter.MatchBlanks(int fieldIndex) и AutoFilter.AddFilter(int fieldIndex, string criteria) могут быть использованы, как показано ниже.

Пожалуйста, ознакомьтесь с примерным кодом, загружающим образец Excel-файла, который содержит некоторые фиктивные данные. Примерный код использует три метода для фильтрации пустот. Затем он сохраняет книгу как выходной Excel-файл.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Open the Excel file
    Workbook workbook(u"sample.xlsx");

    // Access the first worksheet in the Excel file
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Method 1: Call MatchBlanks function to apply the filter
    // worksheet.GetAutoFilter().MatchBlanks(1);

    // Method 2: Call AddFilter function and set criteria to ""
    // worksheet.GetAutoFilter().AddFilter(1, u"");

    // Method 3: Call AddFilter function and set criteria to nullptr
    worksheet.GetAutoFilter().AddFilter(1, nullptr);

    // Call refresh function to update the worksheet
    worksheet.GetAutoFilter().Refresh();

    // Saving the modified Excel file
    workbook.Save(u"FilteredBlanks.xlsx");

    std::cout << "Excel file modified and saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

Как фильтровать непустые ячейки с помощью Aspose.Cells

Пожалуйста, посмотрите следующий пример кода, который загружает пример файла Excel, содержащего некоторые фиктивные данные. После загрузки файла вызовите функцию AutoFilter.MatchNonBlanks(int fieldIndex) для фильтрации данных без пустых ячеек, и, наконец, сохраните рабочую книгу как выходной файл Excel.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Create a workbook by opening an existing Excel file
    Workbook workbook(u"sample.xlsx");

    // Access the first worksheet in the workbook
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Call MatchNonBlanks function to apply the filter on the second column (index 1)
    worksheet.GetAutoFilter().MatchNonBlanks(1);

    // Call refresh function to update the worksheet
    worksheet.GetAutoFilter().Refresh();

    // Save the modified Excel file
    workbook.Save(u"FilteredNonBlanks.xlsx");

    std::cout << "Filtered non-blanks saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
    return 0;
}