excel 中的筛选器是一种简单而有效的数据管理工具,尤其是在处理大型数据集时。通过使用自动筛选,您可以快速将关注范围缩小到特定的信息子集,从而更容易识别趋势、做出决策。完成分析后,您可能需要移除筛选器以恢复完整数据集的可见性。本文将介绍如何使用 spire.xls for .net 通过 c# 在 excel 中添加、应用和删除筛选器。
安装 spire.xls for .net
首先,您需要将 spire.xls for .net 包含的 dll 文件作为引用添加到您的 .net 项目中。dll 文件可以从此链接下载,也可以通过 安装。
pm> install-package spire.xls
在 excel 单元格中添加筛选器
spire.xls for .net 提供的 worksheet.autofilters.range 属性可用于在特定单元格区域应用自动筛选器。具体步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 示例文件。
- 使用 workbook.worksheets[] 属性获取指定工作表。
- 使用 workheet.autofilters.range 属性在指定单元格区域创建筛选器。
- 使用 workbook.savetofile() 方法保存结果文件。
- c#
using spire.xls;
namespace addautofilter
{
class program
{
static void main(string[] args)
{
//创建workbook对象
workbook workbook = new workbook();
//加载excel文件
workbook.loadfromfile(@"c:\users\administrator\desktop\数据.xlsx");
//获取第一张工作表
worksheet sheet = workbook.worksheets[0];
//在工作表中创建自动筛选器,并指定筛选范围
sheet.autofilters.range = sheet.range["a1:c1"];
//保存结果文件
workbook.savetofile("excel筛选器.xlsx", excelversion.version2016);
}
}
}
在 excel 中应用日期筛选
如果需要查看与特定日期或时间相关的信息,可以使用 workbook.autofilters.adddatefilter(iautofilter column, datetimegroupingtype datetimegroupingtype, int year, int month, int day, int hour, int minute, int second) 方法在指定单元格范围中应用日期筛选器。具体步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 示例文件。
- 使用 workbook.worksheets[] 属性获取指定工作表。
- 使用 workbook.autofilters.range 属性在指定单元格区域创建筛选器。
- 获取需要应用筛选的列,然后调用 workbook.autofilters.adddatefilter() 方法在该列中添加日期筛选器,以筛选出与指定年/月/日期等相关的数据。
- 使用 workbook.autofilters.filter() 方法应用筛选条件。
- 使用 workbook.savetofile() 方法保存结果文件。
- c#
using spire.xls;
using spire.xls.core;
using spire.xls.core.spreadsheet.autofilter;
namespace addautofilter
{
class program
{
static void main(string[] args)
{
//创建workbook对象
workbook workbook = new workbook();
//加载excel文件
workbook.loadfromfile(@"c:\users\administrator\desktop\数据.xlsx");
//获取第一张工作表
worksheet sheet = workbook.worksheets[0];
//在工作表中创建自动筛选器,并指定筛选范围
sheet.autofilters.range = sheet.range["a1:a38"];
//获取要设置筛选的列
iautofilter filtercolumn = sheet.autofilters[0];
//添加日期筛选器,以筛选出与2022年5月相关的数据
sheet.autofilters.adddatefilter(filtercolumn, datetimegroupingtype.month, 2022, 5, 0, 0, 0, 0);
//应用筛选条件
sheet.autofilters.filter();
//保存结果文件
workbook.savetofile("excel筛选日期.xlsx", excelversion.version2016);
}
}
}
在 excel 中应用自定义筛选
workbook.autofilters.customfilter(filtercolumn column, filteroperatortype operatortype, object criteria) 方法可允许您根据特定条件创建自定义筛选器。例如,您可以筛选包含特定文本的数据。具体步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 示例文件。
- 使用 workbook.worksheets[] 属性获取指定工作表。
- 使用 workbook.autofilters.range 属性在指定单元格区域创建筛选器。
- 获取需要应用筛选的列,然后使用 workbook.autofilters.customfilter() 方法在该列中添加自定义筛选器,以筛选包含指定字符串的数据。
- 使用 workbook.autofilters.filter() 方法应用筛选条件。
- 使用 workbook.savetofile() 方法保存结果文件。
- c#
using spire.xls;
using spire.xls.core.spreadsheet.autofilter;
namespace addautofilter
{
class program
{
static void main(string[] args)
{
//创建workbook对象
workbook workbook = new workbook();
//加载excel文件
workbook.loadfromfile(@"c:\users\administrator\desktop\数据.xlsx");
//获取第一张工作表
worksheet sheet = workbook.worksheets[0];
//在工作表中创建自动筛选器,并指定筛选范围
sheet.autofilters.range = sheet.range["b1:b38"];
//获取要设置筛选的列
filtercolumn filtercolumn = (filtercolumn)sheet.autofilters[0];
//添加自定义筛选器,筛选出以"苏州"两个字开始的数据"
string strcrt = "苏州*";
sheet.autofilters.customfilter(filtercolumn, filteroperatortype.equal, strcrt);
//应用筛选条件
sheet.autofilters.filter();
//保存结果文件
workbook.savetofile("excel自定义筛选.xlsx", excelversion.version2016);
}
}
}
删除 excel 中的筛选器
除了在 excel 文件中添加自动筛选器外,spire.xls for .net 还支持通过 worksheet.autofilters.clear() 方法删除 excel 中的自动筛选器。具体步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 示例文件。
- 使用 workbook.worksheets[] 属性获取指定的工作表。
- 使用 worksheet.autofilters.clear() 方法删除工作表中的自动筛选器。
- 使用 workbook.savetofile() 方法保存结果文件。
- c#
using spire.xls;
namespace addautofilter
{
class program
{
static void main(string[] args)
{
//创建workbook对象
workbook workbook = new workbook();
//加载excel文件
workbook.loadfromfile("excel自定义筛选.xlsx");
//获取第一张工作表
worksheet sheet = workbook.worksheets[0];
//删除工作表中的筛选器
sheet.autofilters.clear();
//保存结果文件
workbook.savetofile("清除筛选器.xlsx", excelversion.version2016);
}
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。