使用c#.net从excel中提取重复记录

时间:2011-05-19 03:42:25

标签: asp.net excel

我是asp.net的新手。我有一张excel表,里面有很多重复记录。我需要单独显示重复的记录,说这些是重复的。我该怎么做。 是否有特定的查询只能获得重复项。请帮助!!

2 个答案:

答案 0 :(得分:1)

首先,我建议您使用“ExcelReaderFactory”来阅读excel记录。

VB.Net Code

Dim excelReader As IExcelDataReader = Nothing
Dim result As DataSet = Nothing
Dim stream As FileStream = Nothing
stream = File.Open(Server.MapPath("FilePath.xls"), FileMode.Open, FileAccess.Read)
excelReader = ExcelReaderFactory.CreateBinaryReader(stream)
result = excelReader.AsDataSet()
stream.Close()
stream.Dispose()
excelReader.Close()
result.Dispose()

C#代码

IExcelDataReader excelReader = null;
DataSet result = null;
FileStream stream = null;
stream = File.Open(Server.MapPath("FilePath.xls"), FileMode.Open, FileAccess.Read);
excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
result = excelReader.AsDataSet();
stream.Close();
stream.Dispose();
excelReader.Close();
result.Dispose();

在数据表中获取数据后,您可以使用select函数。

最后处理你的数据表。

答案 1 :(得分:0)

好的,你没有提供很多关于你遇到麻烦的细节,所以我将为你提供你需要做的很好的概述。然后你可以查看它,通过示例,看看你是否仍然感到困惑或遗失任何东西。

基本上,您将使用ADO.NET Jet OLEDB连接到Excel来查询数据。基本上你会做SELECT陈述。现在我不相信你可以做SELECT DISTINCT,这是最简单的(请尝试以验证),但你至少可以做一个SELECT声明来获取所有你的将数据转换为DataTable

DataTable中获得数据后,您将应用一个视图,该视图将允许您过滤掉重复的数据。基本代码类似于:

ds.Tables["YourTable"].DefaultView.ToTable(true,”uniqueID”);

您可以根据自己的需要进行调整。以下是一些帮助您入门的链接:

How to query Excel from ASP.NET

How to get a distinct row from a DataTable