自动筛选器是 Excel 中的一个基本但极其有用的功能,它可以让你根据特定的条件来自动隐藏和显示你的数据。当有大量的数据需要处理时,这个功能可以帮你快速找到你需要的信息,从未更加有效地分析和处理相关数据。

下面将介绍如何使用免费.NET Excel库在Excel中添加、应用和删除自动筛选器。包含以下五个示例:

  1. C# 在Excel中添加自动筛选器
  2. C# 在Excel中执行日期筛选
  3. C# 在Excel中执行自定义数字筛选
  4. C# 在Excel中执行自定义文本筛选
  5. C# 删除Excel中的筛选器

本文用到的免费.NET Excel库为 Free Spire.XLS for .NET。该库可以通过Nuget直接安装,或者下载后手动添加Dll到项目中。

(下载链接:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html

C# 在Excel中添加自动筛选器

using Spire.Xls;

namespace ExcelAutoFilter
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("库存.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //在指定单元格区域的标题行创建自动筛选器
sheet.AutoFilters.Range = sheet.Range["A1:H1"]; //保存生成文件
workbook.SaveToFile("添加筛选器.xlsx", ExcelVersion.Version2016);
}
}
}

添加了自动筛选器后,每个被选中的列标题旁边都会出现一个箭头图标。点击这些箭头将会显示与该列相关的所有不同值的列表。效果图如下:

C# 在Excel中执行日期筛选

using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.Spreadsheet.AutoFilter; namespace DateAutoFilter
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("库存.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自动筛选器,并指定要筛选的范围
sheet.AutoFilters.Range = sheet.Range["A1:A25"]; //获取要筛选的列
IAutoFilter filtercolumn = sheet.AutoFilters[0]; //添加日期筛选器,筛选与2023年3月相关的数据
sheet.AutoFilters.AddDateFilter(filtercolumn, DateTimeGroupingType.Month, 2023, 3, 0, 0, 0, 0); //执行筛选
sheet.AutoFilters.Filter(); //保存生成文件
workbook.SaveToFile("日期筛选.xlsx", ExcelVersion.Version2016);
}
}
}

如果需要对表格中某些日期的数据进行查看和处理,可以借助日期筛选来完成。以下是筛选与2023年3月相关的数据的效果图:

C# 在Excel中执行自定义数字筛选

using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.AutoFilter; namespace NumberAutoFilter
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("库存.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自动筛选器,并指定要筛选的范围
sheet.AutoFilters.Range = sheet.Range["G1:G25"]; //获取要筛选的列
FilterColumn filtercolumn = (FilterColumn)sheet.AutoFilters[0]; //添加自定义筛选器,筛选150-200之间的数值
sheet.AutoFilters.CustomFilter(filtercolumn, FilterOperatorType.GreaterOrEqual, 150, true, FilterOperatorType.LessOrEqual, 200); //执行筛选
sheet.AutoFilters.Filter(); //保存生成文件
workbook.SaveToFile("数字筛选.xlsx", ExcelVersion.Version2016);
}
}
}

使用自定义筛选来筛选数字可以设置大于、小于、介于等条件。以下是筛选出介于150-200之间的数值的效果图:

C# 在Excel中执行自定义文本筛选

using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.AutoFilter; namespace CustomAutoFilter
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("库存.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自动筛选器,并指定要筛选的范围
sheet.AutoFilters.Range = sheet.Range["B1:B25"]; //获取要筛选的列
FilterColumn filtercolumn = (FilterColumn)sheet.AutoFilters[0]; //添加自定义筛选器,筛选以“Q型”开头的数据
string strCrt = "Q型*";
sheet.AutoFilters.CustomFilter(filtercolumn, FilterOperatorType.Equal, strCrt); //执行筛选
sheet.AutoFilters.Filter(); //保存生成文件
workbook.SaveToFile("文本筛选.xlsx", ExcelVersion.Version2016);
}
}
}

自定义筛选还可以用来筛选指定文本,以下是筛选开头是“Q型”的文本的效果图:

C# 删除Excel中的筛选器

using Spire.Xls;

namespace RemoveAutoFilter
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("添加筛选器.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //移除该工作表中的筛选器
sheet.AutoFilters.Clear(); //保存生成文件
workbook.SaveToFile("删除Excel筛选器.xlsx", ExcelVersion.Version2016);
}
}
}

以上是在Excel中添加、删除自动筛选器,以及应用日期筛选、自定义数字和文本筛选的示例代码。除此之外,Free Spire.XLS for .NET免费库还提供了 AddFillColorFilter() 方法用于筛选单元格填充颜色、以及 AddFontColorFilter() 方法用于筛选字体颜色。

API文档:
https://www.e-iceblue.com/apireference/net/Spire.XLS/html/T_Spire_Xls_Collections_AutoFiltersCollection.htm

想了解Free Spire.XLS for .NET提供的其他操作Excel文档的功能,可点击其中文教程查看更多示例。

C# 在Excel中添加、应用或删除筛选器 (日期筛选、文本筛选、数字筛选)的更多相关文章

  1. Excel中添加并使用宏实现批量更新数据

    一.状况描述    当我们需要后台更新大量数据的时候,可以使用该功能.二.解決方案    (1)新建一个Excel文件,并另存为启用宏的Excel工作簿,扩展名为.xlsm.    (2)在Excel ...

  2. 在Hadoop集群中添加机器和删除机器

    本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html 无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个 ...

  3. Java 在Excel中添加分离型饼图、环形图

    一.概述 Excel中可支持多种不同类型的图表,本文介绍如何绘制分离型饼图和环形图.其中,分离型饼图的绘制可分为整体分离型(即设置饼图分离程度)和局部分离(即设置点爆炸型值)两种情况.下面将以Java ...

  4. excel中添加下拉候选

    这里简单记录下如何在Excel2013中添加下拉候选. 首先有个思路是,下拉候选也就意味着数据被限制在一个范围之内,因此应该联想到数据验证相关的设置. 选中单列或单元格,在[数据]下的[数据验证]中选 ...

  5. Linux中添加用户与删除用户

    注意:添加用户和删除用户需要root来执行. 添加用户 用useradd命令,例如: # useradd -d/home/tom -s/bin/bash -u1000 tom  这样就添加了新用户to ...

  6. C#在excel中添加超链接

    1.新建一个项目 2.给项目添加引用:Microsoft Excel 12.0 Object Library (2007版本) using Excel = Microsoft.Office.Inter ...

  7. Excel中添加下拉框

    数据->数据验证->数据验证 设置—>允许下拉框中选择序列,来源中写下拉选项,每个选项之间用逗号隔开

  8. vim中添加多行注释和删除多行注释

    1.多行注释:   a. 按下Ctrl + v,进入列模式;   b. 在行首选择需要注释的行;   c. 按下"I",进入插入模式:  d. 然后输入注释符("//&q ...

  9. 怎样在excel中添加下拉列表框

    用excel2013打开要编辑的工作表,例子是一个班级名单,可以看到政治面貌目前还没有填写   接着我们找一个空白处,依次写入政治面貌的可能选项: 群众.共青团员   然后选中“政治面貌”这一列,点击 ...

  10. excel中添加拼接行

    Sub 万途标签()Dim iFor i = 1 To Sheets.Count    If Sheets(i).Name = "数据表" Then        If MsgBo ...

随机推荐

  1. 比nestjs更优雅的ioc:跨模块访问资源

    使用ts的最佳境界:化类型于无形 在项目中使用ts可以带来类型智能提示与校验的诸多好处.同时,为了减少类型标注,达到化类型于无形的效果,CabloyJS引入了ioc和依赖查找的机制.在上一篇文章中,我 ...

  2. Linux-主机之间创建免密

    一.四台主机进行免密 192.168.10.6 192.168.10.11 192.168.10.12 192.168.10.13 二.192.168.10.6主机生成密钥对,并将公钥传输到其它所有主 ...

  3. Linux-搭建内网yum源

    部署要求: 服务器:CentOS7 YUM源:阿里云 空间要求:CentOS6+CentOS7 50G,考虑后期更新预留,LVS空间100G 1.在服务器配置CentOS7的yum源和CentOS6的 ...

  4. 重新点亮linux 命令树————内存与文件系统的查看[二十七]

    前言 简单介绍一下内存的查看. 正文 常用命令. free top 查看磁盘使用率: fdisk df du du和ls的区别 free -h 查看内存使用率: free -g 显示按G来显示,-m用 ...

  5. spring cloud 学习笔记 服务注册与发现(二)

    前言 服务注册与发现的学习.这个其实是微服务的核心了,因为微服务的一个重要理念就是将项目拆分,达到解耦的地步.那么如何把这些服务联系到一起就很关键. 如果一个服务到另外一个服务通过ip地址之间访问,虽 ...

  6. ActiveMQ C#消息队列系列一(安装)

    前言 我前面写过ActiveMQ 如何在windows 上安装,但是呢,一般公司都是在Linux 上跑的,所以就来安装一下吧. 正文 1.进入官网下载linux 版本. 2.然后放置到Linux上. ...

  7. Vue3.0 框架搭建的后台管理模板

    一个Vue3.0框架搭建的后台管理模板 开源vue3.0版本基于vue3.x+ant-design-vue构建的免费开源admin项目,star高达8.4K+ 支持电脑端.手机.平板等平台 底层使用e ...

  8. 入选 SIGMOD2021 的时间序列多周期检测通用框架 RobustPeriod 如何支撑阿里业务场景?

    简介: 本文除了介绍RobustPeriod的核心技术亮点,还将重点解释如何将它构筑成服务来解决阿里云的业务痛点. 近日,由阿里云计算平台和阿里云达摩院合作的时序多周期检测相关论文RobustPeri ...

  9. 阿里云EMR Remote Shuffle Service在小米的实践

    ​简介:阿里云EMR自2020年推出Remote Shuffle Service(RSS)以来,帮助了诸多客户解决Spark作业的性能.稳定性问题,并使得存算分离架构得以实施,与此同时RSS也在跟合作 ...

  10. 【ESSD技术解读-01】 云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护

    ​简介:本文以云原生为时代背景,介绍了阿里云块存储快照服务如何基于高性能 ESSD 云盘提升快照服务性能,提供轻量.实时的用户体验及揭秘背后的技术原理.依据行业发展及云上数据保护场景,为企业用户及备份 ...