翻譯|使用教程|編輯:李顯亮|2020-09-17 14:04:46.357|閱讀 509 次
概述:XLSX和XLS文件格式經常用于處理大量數據。在本文中,我們將探討使用Aspose.cells for .NET在C#中的自動過濾器進行數據過濾。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格的管理和處理任務,支持構建能夠生成,修改,轉換,呈現和打印電子表格的跨平臺應用程序。同時不依賴于Microsoft Excel或任何Microsoft Office Interop組件。
XLSX和XLS文件格式經常用于處理大量數據。同樣,自動篩選器用于組織Excel文件中的數據。使用Aspose.Cells for .NET API 在Excel文件中輕松添加或刪除自動篩選。過濾器可用于量化一些數據以提取一些有意義的信息。例如,一個組織想要過濾銷售量低的月份,以設計和改進其策略。
在本文中,我們將探討使用C#中的自動過濾器進行數據過濾:
可以對Excel文件中特定范圍的單元格應用自動篩選。當單元格包含數值時,這使您可以按升序或降序對值以及其他數字過濾器進行排序。需要按照以下步驟使用C#在Excel文件中應用自動篩選:
該代碼段顯示了如何使用C#在Excel文件中的單元格上應用自動篩選:
// Instantiating a Workbook object // Opening the Excel file through the file stream Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls"); // Accessing the first worksheet in the Excel file Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0]; // Creating AutoFilter by giving the cells range of the heading row worksheet.AutoFilter.Range = "A1:B1"; // Saving the modified Excel file workbook.Save(dataDir + "output.xlsx");
可以在下面的屏幕截圖中注意到自動過濾器已添加到源XLSX文件中:
Excel文件中的數據通常包含與日期有關的信息。有時可能需要根據日期確定的不同時間段瀏覽信息。例如,讓我們考慮需要過濾與2018年1月相關的數據的情況,那么需要執行以下步驟:
以下代碼示例遵循這些步驟,并說明如何使用C#在Excel文件中添加日期自動篩選:
// Instantiating a Workbook object // Opening the Excel file through the file stream Workbook workbook = new Workbook(dataDir + "Date.xlsx"); // Accessing the first worksheet in the Excel file Worksheet worksheet = workbook.Worksheets[0]; // Call AddDateFilter function to apply the filter worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0); // Call refresh function to update the worksheet worksheet.AutoFilter.Refresh(); // Saving the modified Excel file workbook.Save(dataDir + "FilteredDate.xlsx");
正如我們已經討論過的基于日期過濾數據的方案。但是,在某些情況下,日期方案也可能更通用。例如,無論哪個年份,我們都需要過濾掉1月的數據。通過使用以下步驟,可以使用動態日期過濾器輕松滿足這些要求:
本示例是上述示例的繼續,下面的代碼片段顯示了如何使用C#在Excel文件中添加動態日期自動過濾器:
// Instantiating a Workbook object // Opening the Excel file through the file stream Workbook workbook = new Workbook(dataDir + "Date.xlsx"); // Accessing the first worksheet in the Excel file Worksheet worksheet = workbook.Worksheets[0]; // Call DynamicFilter function to apply the filter worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January); // Call refresh function to update the worksheet worksheet.AutoFilter.Refresh(); // Saving the modified Excel file workbook.Save(dataDir + "FilteredDynamicDate.xlsx");
可以使用.NET API的Aspose.Cells根據自定義數字范圍過濾數據。例如,當一家公司需要訪問多少員工達到了銷售目標時。同樣,這種過濾技術可以提供很多可能性。讓我們假設一種情況,我們需要過濾所有數字在5到10之間(含5和10)的數據,那么您需要執行以下步驟:
基于這些步驟,以下代碼顯示了如何使用C#添加自定義編號自動篩選:
// Instantiating a Workbook object // Opening the Excel file through the file stream Workbook workbook = new Workbook(dataDir + "Number.xlsx"); // Accessing the first worksheet in the Excel file Worksheet worksheet = workbook.Worksheets[0]; // Call Custom function to apply the filter worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10); // Call refresh function to update the worksheet worksheet.AutoFilter.Refresh(); // Saving the modified Excel file workbook.Save(dataDir + "FilteredNumber.xlsx");
從自定義編號自動過濾器向前邁進了一步,讓我們學習如何添加自定義自動過濾器,可以使用包含過濾器運算符來跟蹤特定文本。搜索數據中部分或全部存在任何文本的單詞可能會很有用。應該按照以下步驟實現這些要求:
下面的代碼段顯示了如何使用C#將Contains添加到Custom AutoFilter:
// Instantiating a Workbook object containing sample data Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx"); // Accessing the first worksheet in the Excel file Worksheet worksheet = workbook.Worksheets[0]; // Creating AutoFilter by giving the cells range worksheet.AutoFilter.Range = "A1:A18"; // Initialize filter for rows containing string "Ba" worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba"); //Refresh the filter to show/hide filtered rows worksheet.AutoFilter.Refresh(); // Saving the modified Excel file workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");
當我們了解了使用C#在Excel文件中添加自動篩選的不同情況時,讓我們看看另一種方法。從Excel中刪除或刪除自動篩選的用例同樣重要且至關重要。您需要按照以下步驟從XLSX文件中刪除所有自動過濾器:
以下代碼段顯示了如何使用C#從Excel文件中刪除自動過濾器:
// Instantiating a Workbook object // Opening the Excel file Workbook workbook = new Workbook(dataDir + "output.xlsx"); // Iterate through each worksheet foreach (var sheet in workbook.Worksheets) { // Remove AutoFilters sheet.RemoveAutoFilter(); } // Save the workbook workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn