C#批量刪除Excel重復項的實現方法
前言
當從不同來源導入Excel數據時,可能存在重復的記錄。為了確保數據的準確性,通常需要刪除這些重復的行。
手動查找并刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找并刪除Excel重復項的免費解決方案。
以下是實現步驟:
1. 首先安裝免費.NET Excel 庫 - Free Spire.XLS for .NET。( 可通過Nuget直接安裝或者下載后手動安裝)
2. 導入命名空間。
3. 使用LoadFromFile()方法加載Excel文件。
4. 獲取指定工作表,并指定需要查找重復記錄的單元格區(qū)域。
5. 使用LINQ 查詢來找出重復行,并將這些行的行號存儲在一個列表中。
6. 遍歷這個列表并刪除所有重復行。
7. 保存文件。
刪除Excel重復行(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];
//指定需要刪除重復記錄的單元格區(qū)域
var range = sheet.Range["A1:A" + sheet.LastRow];
//獲取重復項的行號
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();
//刪除重復行
for (int i = 0; i < duplicatedRows.Count; i++)
{
sheet.DeleteRow(duplicatedRows[i] - i);
}
//保存Excel文件
workbook.SaveToFile("刪除重復行.xlsx");
}
}
}以上代碼快速查找了指定單元格范圍內的重復項并實現一次性批量刪除。效果如圖:

Free Spire.XLS for .NET提供了一種操作Excel文檔的高效方法,而無需依賴Microsoft Excel。
到此這篇關于C#批量刪除Excel重復項的實現方法的文章就介紹到這了,更多相關C#刪除Excel重復項內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#微信公眾號開發(fā)之用戶上下文WeixinContext和MessageContext
這篇文章介紹了C#微信公眾號開發(fā)之用戶上下文WeixinContext和MessageContext,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

