Excel管理控件Aspose.Cells功能教程——使用C#在Excel文件(XLSX / XLS)中添加或删除自动筛选
Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格的管理和处理任务,支持构建能够生成,修改,转换,呈现和打印电子表格的跨平台应用程序。同时不依赖于Microsoft Excel或任何Microsoft Office Interop组件。
XLSX和XLS文件格式经常用于处理大量数据。同样,自动筛选器用于组织Excel文件中的数据。使用Aspose.Cells for .NET API 在Excel文件中轻松添加或删除自动筛选。过滤器可用于量化一些数据以提取一些有意义的信息。例如,一个组织想要过滤销售量低的月份,以设计和改进其策略。
在本文中,我们将探讨使用C#中的自动过滤器进行数据过滤:
- 使用C#在Excel文件中的单元格上应用自动筛选
- 使用C#在XLSX中添加日期自动筛选
- 使用C#在XLSX中添加动态日期自动筛选
- 使用C#在XLSX中应用自定义编号自动筛选
- 使用C#将自定义自动筛选器与包含一起添加
- 使用C#在Excel中删除或删除自动筛选
使用C#在Excel文件中的单元格上应用自动筛选
可以对Excel文件中特定范围的单元格应用自动筛选。当单元格包含数值时,这使您可以按升序或降序对值以及其他数字过滤器进行排序。需要按照以下步骤使用C#在Excel文件中应用自动筛选:
- 打开一个Excel文件并访问worksheet
- 通过指定特定的单元格范围来创建自动筛选
- 保存输出XLS / XLSX文件
该代码段显示了如何使用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文件中:
使用C#在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");
使用C#在XLSX中添加动态日期自动筛选
正如我们已经讨论过的基于日期过滤数据的方案。但是,在某些情况下,日期方案也可能更通用。例如,无论哪个年份,我们都需要过滤掉1月的数据。通过使用以下步骤,可以使用动态日期过滤器轻松满足这些要求:
- 加载输入的XLSX文件
- 访问工作表
- 将动态过滤设置为一月
- 保存输出Excel工作表
本示例是上述示例的继续,下面的代码片段显示了如何使用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");
使用C#在XLSX中应用自定义编号自动筛选
可以使用.NET API的Aspose.Cells根据自定义数字范围过滤数据。例如,当一家公司需要访问多少员工达到了销售目标时。同样,这种过滤技术可以提供很多可能性。让我们假设一种情况,我们需要过滤所有数字在5到10之间(含5和10)的数据,那么您需要执行以下步骤:
- 实例化工作簿对象并加载输入文件
- 在特定的工作表中添加自定义数字过滤器
- 保存输出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#将自定义自动筛选器与包含一起添加
从自定义编号自动过滤器向前迈进了一步,让我们学习如何添加自定义自动过滤器,可以使用包含过滤器运算符来跟踪特定文本。搜索数据中部分或全部存在任何文本的单词可能会很有用。应该按照以下步骤实现这些要求:
- 使用数据加载输入的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中删除或删除自动筛选的用例同样重要且至关重要。您需要按照以下步骤从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技术交流群(642018183),我们很高兴为您提供查询和咨询。