2017-08-02 67 views
-6

我正在接收正在转换为DataTable的Excel电子表格。结果表将有价值观是这样的:C#在数据表中查找重复值

Person | Billing Street | Billing City | Home Street | Home City 
    ------ | ---------------|--------------|-------------|----------- 
    Bob | 100 B Street | BCity  | 123 My St | HCity 
    Bob | 101 A Street | BCity  | 101 My Ave | HCity 
    Bob | 100 B Street | BCity  | PO Box 42 | HCity 

我需要这些数据,并得到了5个独特的地址被插入到数据库。在桌子上会有成千上万的“人”,有些人会有像鲍勃一样的多个地址,有些人只会有一个。

任何想法/帮助将不胜感激。 感谢

编辑: 我不加入的预期结果,这是一个监督对我而言当天晚些时候的问题深表歉意。预期结果如下:

Person | Address  | City 
    -------|----------------|--------- 
    Bob | 100 B Street | BCity 
    Bob | 101 A Street | BCity 
    Bob | 123 My St  | HCity 
    Bob | 101 My Ave  | HCity 
    Bob | PO Box 42  | HCity 

要,我需要编写代码,并显示我的工作的意见:很抱歉,但公司政策禁止直接的代码发布到外部来源。我本来可以编写伪代码,但我确信那也不够。

对于发生在这个问题上的任何人,我想出的答案是迭代最终的DataTable并创建DataColumnNames的字符串[],然后执行DefaultView.ToTable(true,string [])以获取不同的值。

感谢

+5

'任何想法/帮助将appreciated'我会写一个代码并尝试一些东西,然后会问我做错了什么 –

+0

这个问题的确切部分你有麻烦吗?读取excel文件,找到独特的地址或将数据存储到数据库? –

+0

这实际上很简单,使用DataTable时可以使用Filter/Select,一旦将数据导入到数据表中,但确实很高兴能够看到现有的代码...您真的有什么绑到目前为止......? – MethodMan

回答

0

只需使用一个UNION

SELECT [Person] as [Perdson],[Billing Street] as [Street], [Billing City] as [City] FROM Tbl 
UNION 
SELECT [Person],[Home Street] [Home City] from tbl 
0

请使用下面的代码从地址栏获得不同的地址

dt.DefaultView.ToTable(true, new String[] { "columnName" });