C#實(shí)現(xiàn)在Excel中添加篩選器并執(zhí)行篩選的操作
自動(dòng)篩選器是 Excel 中的一個(gè)基本但極其有用的功能,它可以讓你根據(jù)特定的條件來自動(dòng)隱藏和顯示你的數(shù)據(jù)。當(dāng)有大量的數(shù)據(jù)需要處理時(shí),這個(gè)功能可以幫你快速找到你需要的信息,從未更加有效地分析和處理相關(guān)數(shù)據(jù)。
下面將介紹如何使用免費(fèi).NET Excel庫(kù)在Excel中添加、應(yīng)用和刪除自動(dòng)篩選器。
本文用到的免費(fèi).NET Excel庫(kù)為 Free Spire.XLS for .NET。該庫(kù)可以通過Nuget直接安裝,或者下載后手動(dòng)添加Dll到項(xiàng)目中。
下載鏈接:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html
C# 在Excel中添加自動(dòng)篩選器
using Spire.Xls; namespace ExcelAutoFilter { class Program { static void Main(string[] args) { //加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("庫(kù)存.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //在指定單元格區(qū)域的標(biāo)題行創(chuàng)建自動(dòng)篩選器 sheet.AutoFilters.Range = sheet.Range["A1:H1"]; //保存生成文件 workbook.SaveToFile("添加篩選器.xlsx", ExcelVersion.Version2016); } } }
添加了自動(dòng)篩選器后,每個(gè)被選中的列標(biāo)題旁邊都會(huì)出現(xiàn)一個(gè)箭頭圖標(biāo)。點(diǎn)擊這些箭頭將會(huì)顯示與該列相關(guā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("庫(kù)存.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自動(dòng)篩選器,并指定要篩選的范圍 sheet.AutoFilters.Range = sheet.Range["A1:A25"]; //獲取要篩選的列 IAutoFilter filtercolumn = sheet.AutoFilters[0]; //添加日期篩選器,篩選與2023年3月相關(guān)的數(shù)據(jù) sheet.AutoFilters.AddDateFilter(filtercolumn, DateTimeGroupingType.Month, 2023, 3, 0, 0, 0, 0); //執(zhí)行篩選 sheet.AutoFilters.Filter(); //保存生成文件 workbook.SaveToFile("日期篩選.xlsx", ExcelVersion.Version2016); } } }
如果需要對(duì)表格中某些日期的數(shù)據(jù)進(jìn)行查看和處理,可以借助日期篩選來完成。以下是篩選與2023年3月相關(guān)的數(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\庫(kù)存1.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自動(dòng)篩選器,并指定要篩選的范圍 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ù)字可以設(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\庫(kù)存1.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //在工作表中添加自動(dòng)篩選器,并指定要篩選的范圍 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中添加、刪除自動(dòng)篩選器,以及應(yīng)用日期篩選、自定義數(shù)字和文本篩選的示例代碼。除此之外,F(xiàn)ree Spire.XLS for .NET免費(fèi)庫(kù)還提供了 AddFillColorFilter() 方法用于篩選單元格填充顏色、以及 AddFontColorFilter() 方法用于篩選字體顏色。
到此這篇關(guān)于C#實(shí)現(xiàn)在Excel中添加篩選器并執(zhí)行篩選的操作的文章就介紹到這了,更多相關(guān)C# Excel添加篩選器并執(zhí)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
測(cè)試框架nunit之a(chǎn)ssertion斷言使用詳解
NUnit是.Net平臺(tái)的測(cè)試框架,廣泛用于.Net平臺(tái)的單元測(cè)試和回歸測(cè)試中,下面我們用示例詳細(xì)學(xué)習(xí)一下他的使用方法2014-01-01使用C#獲取遠(yuǎn)程圖片 Form用戶名與密碼Authorization認(rèn)證的實(shí)現(xiàn)
本篇文章介紹了,使用C#獲取遠(yuǎn)程圖片 Form用戶名與密碼Authorization認(rèn)證的實(shí)現(xiàn)。需要的朋友參考下2013-04-04淺析C# web訪問mysql數(shù)據(jù)庫(kù)-整理歸納總結(jié)
本篇文章是對(duì)C#中的web訪問mysql數(shù)據(jù)庫(kù)的一些知識(shí)點(diǎn)進(jìn)行了整理歸納總結(jié),需要的朋友可以參考下2013-07-07C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法
C# SendInput 模擬鼠標(biāo)操作的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-04-04C# 獲取當(dāng)前總毫秒數(shù)的實(shí)例講解
這篇文章主要介紹了C# 獲取當(dāng)前總毫秒數(shù)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01Unity3D實(shí)現(xiàn)人物轉(zhuǎn)向與移動(dòng)
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)人物轉(zhuǎn)向與移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01