在Microsoft Excel中应用高级筛选以显示满足复杂条件的记录,使用C++实现
Contents
[
Hide
]
可能的使用场景
Microsoft Excel允许在工作表数据上应用高级筛选以显示满足复杂条件的记录。你可以通过数据 > 高级命令应用高级筛选,如此截屏所示。
Aspose.Cells还允许你使用GetAdvancedFilter()方法应用高级筛选。就像Microsoft Excel一样,它接受以下参数。
isFilter
-listRange- 列表范围。
-criteriaRange- 条件范围。
列表范围。
criteriaRange
条件范围。
copyTo
拷贝数据的范围。
uniqueRecordOnly
仅显示或拷贝唯一行。
将 Microsoft Excel 的高级筛选应用于显示符合复杂条件的记录
以下示例代码在示例Excel文件上应用高级筛选,并生成输出Excel文件。截图显示两个文件以供比较。如截图所示,数据已根据复杂条件在输出Excel文件中被筛选。
示例代码
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path
U16String sourceDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outputDir(u"..\\Data\\02_OutputDirectory\\");
// Load your source workbook
Workbook workbook(sourceDir + u"sampleAdvancedFilter.xlsx");
// Access first worksheet
Worksheet ws = workbook.GetWorksheets().Get(0);
// Apply advanced filter on range A5:D19 and criteria range is A1:D2
// Besides, we want to filter in place
// And, we want all filtered records not just unique records
ws.Advanced_Filter(true, u"A5:D19", u"A1:D2", u"", false);
// Save the workbook in xlsx format
workbook.Save(outputDir + u"outputAdvancedFilter.xlsx", SaveFormat::Xlsx);
std::cout << "Advanced filter applied successfully!" << std::endl;
Aspose::Cells::Cleanup();
}