C# 在Excel中添加、应用或删除筛选器 (日期筛选、文本筛选、数字筛选)
自动筛选器是 Excel 中的一个基本但极其有用的功能,它可以让你根据特定的条件来自动隐藏和显示你的数据。当有大量的数据需要处理时,这个功能可以帮你快速找到你需要的信息,从未更加有效地分析和处理相关数据。
下面将介绍如何使用免费.NET Excel库在Excel中添加、应用和删除自动筛选器。包含以下五个示例:
- C# 在Excel中添加自动筛选器
- C# 在Excel中执行日期筛选
- C# 在Excel中执行自定义数字筛选
- C# 在Excel中执行自定义文本筛选
- 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() 方法用于筛选字体颜色。
想了解Free Spire.XLS for .NET提供的其他操作Excel文档的功能,可点击其中文教程查看更多示例。
C# 在Excel中添加、应用或删除筛选器 (日期筛选、文本筛选、数字筛选)的更多相关文章
- Excel中添加并使用宏实现批量更新数据
一.状况描述 当我们需要后台更新大量数据的时候,可以使用该功能.二.解決方案 (1)新建一个Excel文件,并另存为启用宏的Excel工作簿,扩展名为.xlsm. (2)在Excel ...
- 在Hadoop集群中添加机器和删除机器
本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html 无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个 ...
- Java 在Excel中添加分离型饼图、环形图
一.概述 Excel中可支持多种不同类型的图表,本文介绍如何绘制分离型饼图和环形图.其中,分离型饼图的绘制可分为整体分离型(即设置饼图分离程度)和局部分离(即设置点爆炸型值)两种情况.下面将以Java ...
- excel中添加下拉候选
这里简单记录下如何在Excel2013中添加下拉候选. 首先有个思路是,下拉候选也就意味着数据被限制在一个范围之内,因此应该联想到数据验证相关的设置. 选中单列或单元格,在[数据]下的[数据验证]中选 ...
- Linux中添加用户与删除用户
注意:添加用户和删除用户需要root来执行. 添加用户 用useradd命令,例如: # useradd -d/home/tom -s/bin/bash -u1000 tom 这样就添加了新用户to ...
- C#在excel中添加超链接
1.新建一个项目 2.给项目添加引用:Microsoft Excel 12.0 Object Library (2007版本) using Excel = Microsoft.Office.Inter ...
- Excel中添加下拉框
数据->数据验证->数据验证 设置—>允许下拉框中选择序列,来源中写下拉选项,每个选项之间用逗号隔开
- vim中添加多行注释和删除多行注释
1.多行注释: a. 按下Ctrl + v,进入列模式; b. 在行首选择需要注释的行; c. 按下"I",进入插入模式: d. 然后输入注释符("//&q ...
- 怎样在excel中添加下拉列表框
用excel2013打开要编辑的工作表,例子是一个班级名单,可以看到政治面貌目前还没有填写 接着我们找一个空白处,依次写入政治面貌的可能选项: 群众.共青团员 然后选中“政治面貌”这一列,点击 ...
- excel中添加拼接行
Sub 万途标签()Dim iFor i = 1 To Sheets.Count If Sheets(i).Name = "数据表" Then If MsgBo ...
随机推荐
- 当使用git出现提示untracked files时怎么办?
当使用 git 出现提示 untracked files 时怎么办? 背景介绍: 在使用 git 工具时,遇到如下错误. 报错内容: $ git status On branch master No ...
- 一文带你详细了解HarmonyOS折叠屏设计规范!
原文:https://mp.weixin.qq.com/s/G25IbfcX2Bq9s1IDPCELGw,点击链接查看更多技术内容. 随着新一代折叠屏手机HUAWEI Mate Xs 2发布,Harm ...
- 【7】SpringBoot是什么?SpringBoot的优缺点有哪些?
随着动态语言的流行(Ruby.Groovy.Scala.Node.js),Java 的开发显得格外的笨重,繁多的配置.低下的开发效率.复杂的部署流程以及第三方技术集成难度大. 在上述环境下,Sprin ...
- Effective Python:第1条 查询自己使用的Python版本
命令行: python --version:通常可查看python2的版本: python3 --version:通常可查看python3的版本: 代码: import sys print(sys.v ...
- 建设工程工程量清单计价规范2008最新分析报告ppt
2008版<计价规范>颁布的背景 国务院从2003年起,在全国范围开展清理拖欠工程款.清理拖欠农民工工资的活动.最高人民法院于2004年9月29日发布了<关于审理建设工程施工合同纠纷 ...
- Power Outage
由于Covid-19的原因一直是work from home, 在几天前家里的电表有问题需要人来维修,在这期间会停电大概半小时操作,虽然是wfh,但是还是要保障工作的正常进行,保守估计可以顺利渡过. ...
- maven BUILD FAILURE
maven BUILD FAILURE 使用命令进行导包失败,错误为BUILD FAILURE 然后使用mvn help:system看一下是不是maven有问提 然后出现了新的错误No plugin ...
- 力扣645(java)-错误的集合(简单)
题目: 集合 s 包含从 1 到 n 的整数.不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 . 给定一个数组 nu ...
- 爱奇艺在 Dubbo 生态下的微服务架构实践
简介: 本文整理自作者于 2020 年云原生微服务大会上的分享<爱奇艺在 Dubbo 生态下的微服务架构实践>,重点介绍了爱奇艺在 Dubbo.Sentinel 等开发框架方面的使用经验以 ...
- OpenTelemetry 简析
简介: OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型.采集.处理.导出等的标准化问题,提供与三方 vendor 无关的服务. ...