C#批量刪除Excel重復(fù)項(xiàng)的實(shí)現(xiàn)方法
前言
當(dāng)從不同來(lái)源導(dǎo)入Excel數(shù)據(jù)時(shí),可能存在重復(fù)的記錄。為了確保數(shù)據(jù)的準(zhǔn)確性,通常需要?jiǎng)h除這些重復(fù)的行。
手動(dòng)查找并刪除可能會(huì)非常耗費(fèi)時(shí)間,而通過(guò)編程腳本則可以實(shí)現(xiàn)在短時(shí)間內(nèi)處理大量數(shù)據(jù)。本文將提供一個(gè)使用C# 快速查找并刪除Excel重復(fù)項(xiàng)的免費(fèi)解決方案。
以下是實(shí)現(xiàn)步驟:
1. 首先安裝免費(fèi).NET Excel 庫(kù) - Free Spire.XLS for .NET。( 可通過(guò)Nuget直接安裝或者下載后手動(dòng)安裝)
2. 導(dǎo)入命名空間。
3. 使用LoadFromFile()方法加載Excel文件。
4. 獲取指定工作表,并指定需要查找重復(fù)記錄的單元格區(qū)域。
5. 使用LINQ 查詢來(lái)找出重復(fù)行,并將這些行的行號(hào)存儲(chǔ)在一個(gè)列表中。
6. 遍歷這個(gè)列表并刪除所有重復(fù)行。
7. 保存文件。
刪除Excel重復(fù)行(C#代碼)
using Spire.Xls; using System.Linq; namespace RemoveDuplicateRows { class Program { static void Main(string[] args) { //加載Excel文件 Workbook workbook = new Workbook(); workbook.LoadFromFile("示例.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //指定需要?jiǎng)h除重復(fù)記錄的單元格區(qū)域 var range = sheet.Range["A1:A" + sheet.LastRow]; //獲取重復(fù)項(xiàng)的行號(hào) var duplicatedRows = range.Rows .GroupBy(x => x.Columns[0].DisplayedText) .Where(x => x.Count() > 1) .SelectMany(x => x.Skip(1)) .Select(x => x.Columns[0].Row) .ToList(); //刪除重復(fù)行 for (int i = 0; i < duplicatedRows.Count; i++) { sheet.DeleteRow(duplicatedRows[i] - i); } //保存Excel文件 workbook.SaveToFile("刪除重復(fù)行.xlsx"); } } }
以上代碼快速查找了指定單元格范圍內(nèi)的重復(fù)項(xiàng)并實(shí)現(xiàn)一次性批量刪除。效果如圖:
Free Spire.XLS for .NET提供了一種操作Excel文檔的高效方法,而無(wú)需依賴Microsoft Excel。
到此這篇關(guān)于C#批量刪除Excel重復(fù)項(xiàng)的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)C#刪除Excel重復(fù)項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)PDF頁(yè)面合并的示例代碼
這篇文章主要為大家介紹了如何利用C#及vb.net來(lái)實(shí)現(xiàn)合并PDF頁(yè)面內(nèi)容,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定幫助,感興趣的小伙伴可以了解一下2022-04-04C#實(shí)現(xiàn)在PDF文檔中應(yīng)用多種不同字體
在PDF文檔中,可繪制不同字體樣式、不同語(yǔ)言的文字,可通過(guò)使用Standard字體、TrueType字體、CJK字體或者自定義(私有)等字體類型。本文將具體介紹實(shí)現(xiàn)的方法,需要的可以參考一下2022-01-01Unity向量按照某一點(diǎn)進(jìn)行旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Unity向量按照某一點(diǎn)進(jìn)行旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01C#微信公眾號(hào)開發(fā)之用戶上下文WeixinContext和MessageContext
這篇文章介紹了C#微信公眾號(hào)開發(fā)之用戶上下文WeixinContext和MessageContext,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#實(shí)現(xiàn)簡(jiǎn)單的loading提示控件實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了C#實(shí)現(xiàn)簡(jiǎn)單的loading提示控件功能,代碼非常簡(jiǎn)單,具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09C#實(shí)現(xiàn)導(dǎo)入CSV文件到Excel工作簿的方法
這篇文章主要介紹了C#實(shí)現(xiàn)導(dǎo)入CSV文件到Excel工作簿的方法,涉及C#針對(duì)office組件的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06C#中Clone一個(gè)對(duì)象的值到另一個(gè)對(duì)象案例
這篇文章主要介紹了C#中Clone一個(gè)對(duì)象的值到另一個(gè)對(duì)象案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12