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)char字符數(shù)組與字符串相互轉(zhuǎn)換的方法
這篇文章主要介紹了C#實(shí)現(xiàn)char字符數(shù)組與字符串相互轉(zhuǎn)換的方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了C#字符數(shù)組轉(zhuǎn)字符串及字符串轉(zhuǎn)字符數(shù)組的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02
C# Newtonsoft.Json 的使用說(shuō)明
這篇文章主要介紹了C# Newtonsoft.Json 的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
C# WinForms存儲(chǔ)過(guò)程操作數(shù)據(jù)庫(kù)的實(shí)例講解
這篇文章主要介紹了C# WinForms存儲(chǔ)過(guò)程操作數(shù)據(jù)庫(kù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
WPF實(shí)現(xiàn)動(dòng)畫效果(一)之基本概念
這篇文章介紹了WPF實(shí)現(xiàn)動(dòng)畫效果之基本概念,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
C#操作SQLite數(shù)據(jù)庫(kù)幫助類詳解
這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫(kù)幫助類,詳細(xì)分析了C#針對(duì)sqlite數(shù)據(jù)庫(kù)的連接、查詢、分頁(yè)等各種常見操作的實(shí)現(xiàn)與封裝技巧,需要的朋友可以參考下2017-07-07
C#統(tǒng)計(jì)C、C++及C#程序代碼行數(shù)的方法
這篇文章主要介紹了C#統(tǒng)計(jì)C、C++及C#程序代碼行數(shù)的方法,較為詳細(xì)的分析了C#統(tǒng)計(jì)文本文件的原理與相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08

