C#實現(xiàn)在Excel中添加篩選器并執(zhí)行篩選的操作
自動篩選器是 Excel 中的一個基本但極其有用的功能,它可以讓你根據(jù)特定的條件來自動隱藏和顯示你的數(shù)據(jù)。當有大量的數(shù)據(jù)需要處理時,這個功能可以幫你快速找到你需要的信息,從未更加有效地分析和處理相關數(shù)據(jù)。
下面將介紹如何使用免費.NET Excel庫在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];
//在指定單元格區(qū)域的標題行創(chuàng)建自動篩選器
sheet.AutoFilters.Range = sheet.Range["A1:H1"];
//保存生成文件
workbook.SaveToFile("添加篩選器.xlsx", ExcelVersion.Version2016);
}
}
}添加了自動篩選器后,每個被選中的列標題旁邊都會出現(xiàn)一個箭頭圖標。點擊這些箭頭將會顯示與該列相關的所有不同值的列表。效果圖如下:

C# 在Excel中執(zhí)行日期篩選
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月相關的數(shù)據(jù)
sheet.AutoFilters.AddDateFilter(filtercolumn, DateTimeGroupingType.Month, 2023, 3, 0, 0, 0, 0);
//執(zhí)行篩選
sheet.AutoFilters.Filter();
//保存生成文件
workbook.SaveToFile("日期篩選.xlsx", ExcelVersion.Version2016);
}
}
}如果需要對表格中某些日期的數(shù)據(jù)進行查看和處理,可以借助日期篩選來完成。以下是篩選與2023年3月相關的數(shù)據(jù)的效果圖:

C# 在Excel中執(zhí)行自定義數(shù)字篩選
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之間的數(shù)值
sheet.AutoFilters.CustomFilter(filtercolumn, FilterOperatorType.GreaterOrEqual, 150, true, FilterOperatorType.LessOrEqual, 200);
//執(zhí)行篩選
sheet.AutoFilters.Filter();
//保存生成文件
workbook.SaveToFile("數(shù)字篩選.xlsx", ExcelVersion.Version2016);
}
}
}使用自定義篩選來篩選數(shù)字可以設置大于、小于、介于等條件。以下是篩選出介于150-200之間的數(shù)值的效果圖:

C# 在Excel中執(zhí)行自定義文本篩選
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型”開頭的數(shù)據(jù)
string strCrt = "Q型*";
sheet.AutoFilters.CustomFilter(filtercolumn, FilterOperatorType.Equal, strCrt);
//執(zhí)行篩選
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中添加、刪除自動篩選器,以及應用日期篩選、自定義數(shù)字和文本篩選的示例代碼。除此之外,F(xiàn)ree Spire.XLS for .NET免費庫還提供了 AddFillColorFilter() 方法用于篩選單元格填充顏色、以及 AddFontColorFilter() 方法用于篩選字體顏色。
到此這篇關于C#實現(xiàn)在Excel中添加篩選器并執(zhí)行篩選的操作的文章就介紹到這了,更多相關C# Excel添加篩選器并執(zhí)行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C# wpf Brush轉(zhuǎn)Hex字符串的實例代碼
這篇文章主要介紹了C# wpf Brush轉(zhuǎn)Hex字符串的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
C#利用OpenCvSharp實現(xiàn)玉米粒計數(shù)
這篇文章主要為大家詳細介紹了C#如何結(jié)合OpenCVSharp4實現(xiàn)玉米粒計數(shù),文中的示例代碼簡潔易懂,具有一定的學習價值,需要的小伙伴可以參考下2023-11-11
C#中的SQLCommand命令與DbTransaction事務處理
這篇文章介紹了C#中的SQLCommand命令與DbTransaction事務處理,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05

