当前位置: 代码网 > it编程>编程语言>C# > C#批量删除Excel重复项的实现方法

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

2024年05月28日 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重复项内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com