C#批量删除Excel重复项的实现方法

 更新时间:2024年04月09日 09:18:03   作者:Eiceblue  
当从不同来源导入Excel数据时,可能存在重复的记录,为了确保数据的准确性,通常需要删除这些重复的行,本文将提供一个使用C# 快速查找并删除Excel重复项的免费解决方案,需要的朋友可以参考下

前言

当从不同来源导入Excel数据时,可能存在重复的记录。为了确保数据的准确性,通常需要删除这些重复的行。

手动查找并删除可能会非常耗费时间,而通过编程脚本则可以实现在短时间内处理大量数据。本文将提供一个使用C# 快速查找并删除Excel重复项的免费解决方案。

以下是实现步骤:

1. 首先安装免费.NET Excel 库 - Free Spire.XLS for .NET。( 可通过Nuget直接安装或者下载后手动安装)

2. 导入命名空间。

3. 使用LoadFromFile()方法加载Excel文件。

4. 获取指定工作表,并指定需要查找重复记录的单元格区域。

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];
 
            //指定需要删除重复记录的单元格区域
            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重复项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#处理文本文件TXT实例详解

    C#处理文本文件TXT实例详解

    这篇文章主要介绍了C#处理文本文件TXT的方法,以实例形式详细分析了txt文本文件的读取、修改及打印等功能的实现技巧,需要的朋友可以参考下
    2015-02-02
  • C#实现char字符数组与字符串相互转换的方法

    C#实现char字符数组与字符串相互转换的方法

    这篇文章主要介绍了C#实现char字符数组与字符串相互转换的方法,结合实例形式简单分析了C#字符数组转字符串及字符串转字符数组的具体实现技巧,需要的朋友可以参考下
    2017-02-02
  • C# Newtonsoft.Json 的使用说明

    C# Newtonsoft.Json 的使用说明

    这篇文章主要介绍了C# Newtonsoft.Json 的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C# WinForms存储过程操作数据库的实例讲解

    C# WinForms存储过程操作数据库的实例讲解

    这篇文章主要介绍了C# WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • WPF实现动画效果(一)之基本概念

    WPF实现动画效果(一)之基本概念

    这篇文章介绍了WPF实现动画效果之基本概念,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#利用后缀表达式解析计算字符串公式

    C#利用后缀表达式解析计算字符串公式

    当我们拿到一个字符串比如:20+31*(100+1)的时候用口算就能算出结果为3151,因为这是中缀表达式对于人类的思维很简单,但是对于计算机就比较复杂了。相对的后缀表达式适合计算机进行计算。本文就来用后缀表达式实现解析计算字符串公式,需要的可以参考一下
    2023-02-02
  • c# yield提高代码性能和可读性

    c# yield提高代码性能和可读性

    Yield可以让你的代码更加高效并拥有更高的可读性,我想已经没有什么借口可以阻止我们学习和使用yield
    2013-12-12
  • C#操作SQLite数据库帮助类详解

    C#操作SQLite数据库帮助类详解

    这篇文章主要介绍了C#操作SQLite数据库帮助类,详细分析了C#针对sqlite数据库的连接、查询、分页等各种常见操作的实现与封装技巧,需要的朋友可以参考下
    2017-07-07
  • C#统计C、C++及C#程序代码行数的方法

    C#统计C、C++及C#程序代码行数的方法

    这篇文章主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#控件编程之文本框(TextBox)的使用

    C#控件编程之文本框(TextBox)的使用

    这篇文章主要介绍了C#控件编程之文本框(TextBox)的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论