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(@"E:\PythonExcel\库存1.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(@"E:\PythonExcel\库存1.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文档:AutoFiltersCollection Classicon-default.png?t=N7T8https://www.e-iceblue.com/apireference/net/Spire.XLS/html/T_Spire_Xls_Collections_AutoFiltersCollection.htm

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传感数据分析——加速度、速度与位移

传感数据分析——加速度、速度与位移 在许多科学和工程应用中,传感器数据的分析是一项至关重要的任务。特别是在运动、运输、结构监测等领域,传感器能够提供有关物体运动和变形的宝贵信息。本文将介绍如何利用Python进行传感器数据分析,重点…

TCP/UDP通信中的部分函数

UDP(User Datagram Protocol,用户数据报协议)和TCP(Transmission Control Protocol,传输控制协议)是互联网协议套件中最常用的两种传输层协议,它们负责在互联网中端到端地传输数据。尽管它们服务…

Laravel中使用MinIO进行文件操作及ZIP解压

Laravel中使用MinIO进行文件操作及ZIP解压指南 介绍 在本指南中,我们将详细介绍如何在laravel框架中操作minio,包含方法有:桶列表,创建桶,修改桶,上传文件,删除文件,生成直传链接&…

Linux系统编程:进程控制

1.进程创建 1.1 fork函数 fork()通过复制调用进程来创建一个新进程。新进程称为子进程,是调用进程的精确副本 进程,但以下几点除外: 子进程有自己的PID,此PID与任何现有进程组的ID不匹配子进程的父进程ID…

Uncaught InternalError: too much recursion

今天在敲代码的时候偶然间发现项目因为一次操作导致浏览器变得非常卡,而且控制台还报错了 Uncaught InternalError: too much recursior 页面截图如下 : 突如起来的报错和页面异常卡顿给我整不会了ovo,点开报错的地方,直接跳转到对…

HTML满屏漂浮爱心

目录 写在前面 满屏爱心 代码分析 系列推荐 写在最后 写在前面 小编给大家准备了满屏漂浮爱心代码&#xff0c;一起来看看吧~ 满屏爱心 文件heart.svg <svg xmlns"http://www.w3.org/2000/svg" width"473.8px" height"408.6px" view…

Ansible的安装与配置

Ansible的安装与配置 1. 安装ansible # ansible是epel源提供的&#xff0c;所以必须安装epel&#xff1a; [rootRocky9 ~]# yum -y install epel-release Last metadata expiration check: 0:01:53 ago on Tue 26 Dec 2023 10:05:34 PM CST. Dependencies resolved. Package …

精品录播|电磁场数值仿真技术及天线设计与应用

电磁场数值仿真技术及天线设计与应用

直播预约丨《袋鼠云大数据实操指南》No.2:实时开发,如何成为数据智能化的有效驱动力

近年来&#xff0c;新质生产力、数据要素及数据资产入表等新兴概念犹如一股强劲的浪潮&#xff0c;持续冲击并革新着企业数字化转型的观念视野&#xff0c;昭示着一个以数据为核心驱动力的新时代正稳步启幕。 面对这些引领经济转型的新兴概念&#xff0c;为了更好地服务于客户…

银河麒麟V10桌面版分区分析

前言&#xff1a;本文只讨论gpt分区uefi引导形式 &#xff0c;了解分区方案的目的是方便恢复&#xff0c;还原&#xff0c;扩容等&#xff0c;普通用户使用无需了解这些细节。 先回顾分析windows和ubuntu默认分区用做对比 1、windows11默认分区 win11分区&#xff0c;如上图&am…

【Linux线程(二)】线程互斥和同步

前言&#xff1a; 在上一篇博客中&#xff0c;我们讲解了什么是线程以及如何对线程进行控制&#xff0c;那么了解了这些&#xff0c;我们就可以在程序中创建多线程了&#xff0c;可是多线程往往会带有许多问题&#xff0c;比如竞态条件、死锁、数据竞争、内存泄漏等问题&#…

高扩展性便携式1553B总线测试仪,支持麒麟操作系统

手提式便携1553B总线测试仪&#xff0c;利用订制平台的PXIe扩展槽嵌入石竹科技自主研发的高性能T系列专用1553B测试板卡和高级协议分析和测试软件FP-1553B Pro、FP-5186集成的一款模块化、功能可订制的测试仪器。 基本配置可对1553B信号进行波形采集&#xff08;提供软件示波器…

【批量处理文档】CleverPDF,WOED,EXCEL,PPT,PDF批量转换相关的工具网站NO.97

本文一共:429 个字,需要阅读:2 分钟,更新时间:2024年5 月14日,部分内容具有时效性,如有失效请留言,阅读量:1 CleverPDF&#xff0c;具有44个功能强大的免费在线PDF转换器和工具。 资源来源于网络&#xff0c;免费分享仅供学习和测试使用&#xff0c;请勿用于商业用途&#xff…

超级漂亮的 Ai 官网源码

超级漂亮的 AI 官网源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 <script lang"js">function project3D(x, y, z, vars) {var p, dx - vars.camXy - vars.camY - 8z - vars.camZp Math.atan2(x, z)d Math.sqrt(x * x z * z)x Math.sin(p - v…

List/ConcurrentBag Contains的效率比Dictionary/ConcurrentDictionary ContainsKey 低几千倍

测试目标&#xff1a; 用两组 50000 个字符串做包含(Contains)判断&#xff0c;分析性能差异。 50000个字符串集合测试结果&#xff1a; Dictionary/ConcurrentDictionary 能在1-2毫秒完成50000个字符串集合的包含判断&#xff1b; List 需要3秒&#xff0c;ConcurrentBag需要…

白话机器学习4:小波分解的原理与Python代码实现

小波去噪可以想象成使用一把“筛子”来过滤信号。这个“筛子”能够根据信号的不同频率成分&#xff0c;将其分解成多个层次。在这个过程中&#xff0c;信号的重要信息通常包含在低频部分&#xff0c;而噪声则多分布在高频部分。 将信号通过这个“筛子”分解后&#xff0c;我们可…

leetcode-最长公共子序列(二)-103

题目要求 思路 step 1&#xff1a;优先检查特殊情况。 step 2&#xff1a;获取最长公共子序列的长度可以使用动态规划&#xff0c;我们以dp[i][j]dp[i][j]dp[i][j]表示在s1中以iii结尾&#xff0c;s2中以jjj结尾的字符串的最长公共子序列长度。 step 3&#xff1a;遍历两个字…

同为科技详解智能PDU所应用的通信协议与接口

现如今&#xff0c;信息服务、AI人工智能的飞速发展与增长&#xff0c;全球正经历信息数据的爆炸。不仅数据量以惊人的速度增长&#xff0c;而且全球社会各行业对数据的依赖的程度也在日益增加。这些趋势使数据中心在全球都享有关键基础架构的地位。假设某个数据中心发生严重的…

数据采集为什么会用到代理IP?

在数据采集中&#xff0c;代理IP是指通过使用代理服务器来隐藏或更改真实的IP地址&#xff0c;以访问目标网站或服务器。那么&#xff0c;数据采集为什么会用到代理IP呢&#xff1f;使用代理IP通常用于匿名地访问网站、绕过访问限制或提高数据采集的效率和安全性。 代理服务器作…

HCIA和HCIP区别大吗?小白请看这

华为认证以其专业性和实用性受到了业界的广泛认可。 HCIA、HCIP、HCIP这三个级别&#xff0c;你会选哪个&#xff1f;IE含金量不用多说&#xff0c;IA还是IP&#xff0c;你会纠结吗。 但面对这两个级别的认证&#xff0c;初学者或者“小白”们可能会感到困惑&#xff1a;两者…