Excel管理控件Aspose.Cells功能教程——使用C#在Excel文件(XLSX / XLS)中添加或刪除自動篩選
Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格的管理和處理任務(wù),支持構(gòu)建能夠生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格的跨平臺應(yīng)用程序。同時不依賴于Microsoft Excel或任何Microsoft Office Interop組件。
XLSX和XLS文件格式經(jīng)常用于處理大量數(shù)據(jù)。同樣,自動篩選器用于組織Excel文件中的數(shù)據(jù)。使用Aspose.Cells for .NET API 在Excel文件中輕松添加或刪除自動篩選。過濾器可用于量化一些數(shù)據(jù)以提取一些有意義的信息。例如,一個組織想要過濾銷售量低的月份,以設(shè)計和改進其策略。
在本文中,我們將探討使用C#中的自動過濾器進行數(shù)據(jù)過濾:
- 使用C#在Excel文件中的單元格上應(yīng)用自動篩選
- 使用C#在XLSX中添加日期自動篩選
- 使用C#在XLSX中添加動態(tài)日期自動篩選
- 使用C#在XLSX中應(yīng)用自定義編號自動篩選
- 使用C#將自定義自動篩選器與包含一起添加
- 使用C#在Excel中刪除或刪除自動篩選
使用C#在Excel文件中的單元格上應(yīng)用自動篩選
可以對Excel文件中特定范圍的單元格應(yīng)用自動篩選。當單元格包含數(shù)值時,這使您可以按升序或降序?qū)χ狄约捌渌麛?shù)字過濾器進行排序。需要按照以下步驟使用C#在Excel文件中應(yīng)用自動篩選:
- 打開一個Excel文件并訪問worksheet
- 通過指定特定的單元格范圍來創(chuàng)建自動篩選
- 保存輸出XLS / XLSX文件
該代碼段顯示了如何使用C#在Excel文件中的單元格上應(yīng)用自動篩選:
// 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文件中:
使用C#在XLSX中添加日期自動篩選
Excel文件中的數(shù)據(jù)通常包含與日期有關(guān)的信息。有時可能需要根據(jù)日期確定的不同時間段瀏覽信息。例如,讓我們考慮需要過濾與2018年1月相關(guān)的數(shù)據(jù)的情況,那么需要執(zhí)行以下步驟:
- 加載輸入電子表格
- 訪問工作表
- 添加日期過濾器并保存輸出文件
以下代碼示例遵循這些步驟,并說明如何使用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");
使用C#在XLSX中添加動態(tài)日期自動篩選
正如我們已經(jīng)討論過的基于日期過濾數(shù)據(jù)的方案。但是,在某些情況下,日期方案也可能更通用。例如,無論哪個年份,我們都需要過濾掉1月的數(shù)據(jù)。通過使用以下步驟,可以使用動態(tài)日期過濾器輕松滿足這些要求:
- 加載輸入的XLSX文件
- 訪問工作表
- 將動態(tài)過濾設(shè)置為一月
- 保存輸出Excel工作表
本示例是上述示例的繼續(xù),下面的代碼片段顯示了如何使用C#在Excel文件中添加動態(tài)日期自動過濾器:
// 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");
使用C#在XLSX中應(yīng)用自定義編號自動篩選
可以使用.NET API的Aspose.Cells根據(jù)自定義數(shù)字范圍過濾數(shù)據(jù)。例如,當一家公司需要訪問多少員工達到了銷售目標時。同樣,這種過濾技術(shù)可以提供很多可能性。讓我們假設(shè)一種情況,我們需要過濾所有數(shù)字在5到10之間(含5和10)的數(shù)據(jù),那么您需要執(zhí)行以下步驟:
- 實例化工作簿對象并加載輸入文件
- 在特定的工作表中添加自定義數(shù)字過濾器
- 保存輸出Excel文件
基于這些步驟,以下代碼顯示了如何使用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#將自定義自動篩選器與包含一起添加
從自定義編號自動過濾器向前邁進了一步,讓我們學習如何添加自定義自動過濾器,可以使用包含過濾器運算符來跟蹤特定文本。搜索數(shù)據(jù)中部分或全部存在任何文本的單詞可能會很有用。應(yīng)該按照以下步驟實現(xiàn)這些要求:
- 使用數(shù)據(jù)加載輸入的Excel文件
- 指定 AutoFilter范圍和FilterOperatorType
- 保存輸出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中刪除或刪除自動篩選
當我們了解了使用C#在Excel文件中添加自動篩選的不同情況時,讓我們看看另一種方法。從Excel中刪除或刪除自動篩選的用例同樣重要且至關(guān)重要。您需要按照以下步驟從XLSX文件中刪除所有自動過濾器:
- 加載輸入的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);
還想要更多嗎?您可以點擊閱讀【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。