自动筛选器是 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. sql 语句系列(字符串之父与子之间)[八百章之第十二章]

    前言 介绍字符串和其子字符串直接的使用. 判断含有子字母的字符串 select * from emp 在mysql中: select emp.ename from emp where emp.enam ...

  2. lattice,altera,xilinx三合一的图像转rom,mif软件

    免费发一个软件, 图像转成文件. 下载地址:https://files.cnblogs.com/files/fpga-design/image_mif08030.zip

  3. 基于locust全链路压测系统

    2021年中旬就计划着搭建一套压测系统,大约9月份已经搭建完成,使用至今还是比较稳定了,分享一下搭建思路及过程: 为什么选择Locust呢,因为Locust可以仅需要执行命令就可以完成压测任务,并且集 ...

  4. 快速获取使用dblink的视图的全部字段

    快速获取使用dblink的视图的全部字段 默认情况下,使用dblink连接的视图在PL/SQL是没法通过代码助手获取全部的字段的 如果要获取全部字段的话,可以使用一个奇怪的方法 对要获取的使用dbli ...

  5. DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

    简介: DataWorks标准模式下,支持开发环境和生产环境隔离,开发环境和生产环境的数据库表命名有所区别,如果需要在开发环境访问生产环境的数据库表或者跨项目空间访问其他项目空间的表,需要根据proj ...

  6. RDS PostgreSQL一键大版本升级技术解密

    ​简介: 内容简要: 一.PostgreSQL行业位置 二.PostgreSQL版本升级背景 三.PostgreSQL版本升级解密 四.PostgreSQL版本升级成果 一.PostgreSQL行业位 ...

  7. [FAQ] 前端 点击事件或链接 如何打开两个外部窗口

    点击链接支持 blank,但无法打开多个,考虑使用绑定 click 事件的方式. window.open 的采用需要有主动点击的情况,否则浏览器可能拦截. 如果是外部窗口,在点击时,优先使用 wind ...

  8. C语言结构体的内存分配

    一.结构体内存分配原则 原则一:结构体中元素按照定义顺序存放到内存中,但并不是紧密排列.从结构体存储的首地址开始 ,每一个元素存入内存中时,它都会认为内存是以自己的宽度来划分空间的,因此元素存放的位置 ...

  9. aspnetcore项目中kafka组件封装

    前段时间在项目中把用到kafka组件完全剥离开出来,项目需要可以直接集成进去.源代码如下: liuzhixin405/My.Project (github.com) 组件结构如下,代码太多不一一列举, ...

  10. 1.13~1.14&&放假寄

    1.13 3点就放了,手机在机房就能拿到,我为了给手机充会电又多留了一会(事实证明这挺对的) 因为我们是 化微机的班,老师收手机都放在一个箱子里,要有人负责把剩下的手机搬到教室,我走得晚还被当成免费劳 ...