翻譯|使用教程|編輯:李顯亮|2021-05-20 10:44:00.723|閱讀 254 次
概述:在某些情況下,篩選數據可能會有所幫助。在本文中,將學習如何使用C ++在Excel文件中添加或刪除自動篩選。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在Excel電子表格中過濾信息是一項重要功能。它使您可以隱藏不相關的數據,并僅顯示符合特定條件的數據。在某些情況下,篩選數據可能會有所幫助。例如,組織可能希望從銷售報告中過濾出性能不佳的產品,以分析和改進其銷售策略。在本文中,將學習如何使用C ++在Excel文件中添加或刪除自動篩選。
Aspose.Cells for C++是本機C ++庫,可讓您創建,讀取和修改Excel文件,而無需安裝Microsoft Excel。
可以在一系列單元格上應用自動篩選。自動過濾器使您可以排序和過濾給定單元格范圍內的值。以下是在Excel文件中添加自動篩選的步驟。
下面的示例代碼顯示了如何使用C ++將自動篩選應用于Excel文件中的一系列單元格。
// Source directory path. StringPtr srcDir = new String("SourceDirectory\\"); // Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Load the source Excel file intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx"))); // Access the first worksheet in the Excel file intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Creating AutoFilter by giving the cell range worksheet->GetIAutoFilter()->SetRange(new String("A1:B1")); // Save the Excel file workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Excel文件可能包含基于日期的數據。可能會遇到需要根據不同日期過濾和分析數據的情況。因此,在這種情況下,日期過濾器將被證明是有用的。以下是在Excel文件中添加日期自動篩選的步驟。
下面的示例代碼演示了如何使用C ++在Excel文件中添加日期自動篩選。
// Source directory path. StringPtr srcDir = new String("SourceDirectory\\"); // Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Load the source Excel file intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx"))); // Access the first worksheet in the Excel file intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Call AddDateFilter function to apply the filter worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0); // Call the Refresh function to update the worksheet worksheet->GetIAutoFilter()->Refresh(); // Save the Excel file workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
在某些情況下,可能需要更通用的日期過濾器,例如月份,而不管年份或當前月份之前的月份。對于這種情況,可以使用動態自動篩選來篩選數據。以下是使用動態日期自動篩選器篩選數據的步驟。
下面的示例代碼演示了如何使用C++在Excel文件中添加一個動態日期自動過濾器。
// Source directory path. StringPtr srcDir = new String("SourceDirectory\\"); // Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Load the source Excel file intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx"))); // Access the first worksheet in the Excel file intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Call DynamicFilter function to apply the filter worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray); // Call the Refresh function to update the worksheet worksheet->GetIAutoFilter()->Refresh(); // Save the Excel file workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
如果您想應用一個自定義的自動過濾器,Aspose.Cells for C++ API將為您提供幫助。使用該API,您可以根據您的具體要求在Excel文件中應用一個自定義的自動過濾器。以下是在Excel文件中添加自定義自動過濾器的步驟。
下面的示例代碼顯示了如何使用C++在Excel文件中添加自定義自動過濾器。
// Source directory path. StringPtr srcDir = new String("SourceDirectory\\"); // Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Load the source Excel file intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx"))); // Access the first worksheet in the Excel file intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Call Custom function to apply the filter worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil")); // Call the Refresh function to update the worksheet worksheet->GetIAutoFilter()->Refresh(); // Save the Excel file workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
除了添加自動過濾器之外,還可以使用Aspose.Cells for C++ API來刪除它們。下面是刪除Excel文件中自動過濾器的步驟。
下面的示例代碼顯示了如何使用C++從Excel文件中移除AutoFilter。
// Source directory path. StringPtr srcDir = new String("SourceDirectory\\"); // Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Load the source Excel file intrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx"))); // Access the first worksheet in the Excel file intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Remove AutoFilters worksheet->RemoveAutoFilter(); // Save the Excel file workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
如果你想試用Aspose的全部完整功能,可聯系在線客服獲取30天臨時授權體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn