C#导入excel,将excel中的数据和datagridview的数据进行比对

datagridview内已有从数据库中取出的数据,然后导入excel,将excel里的数据和datagridview的数据进行对比,并在datagridview中添加新的列.应该用什么方法.最好有代码或者例子,谢谢,在线坐等!!急急急!!!!
datagridview中的是从数据库取出的,而excel是另一个表,不是同一个,最后是要把两个表整合在一起,并在datagridview中显示出来

这个有什么困难的  就是费点手续而已!

NPOI组件可以实现你的需求!

这是一段读取EXCEL的代码 然后转换为datatable 最后绑定到Gridview 。

还有什么问题可以问我!

追问

导入excel我会..主要是导入后还要跟datagridview中已有的数据进行整合,有一个ID列一样的,然后把两个表的数据整合成一张 在放入datagridview中

追答

datagridview 表为A
EXCEL表为B
整合你需要 新建一个C表
这个时候你遍历A表 或者B表的时候 新构造的数据添加到C表

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-12
excel作为数据源用SQL语句先读入到DATATABLE,新定义DATATABLE结构与之前取得的一致
循环DATATABLE 与DATAGRIDEVIEW中的进行比较 有不操作 无就将该记录加入新的ATATABLE中。循环完成后
循环之前生成的datatable 将里面的值添加到DATAGRIDVIEW中完成追问

两个表的结构是不一样的,只能通过同样的关键键进行匹配

追答

DATATABLE A=NEW DATATABLE()
A=//由SQL取得EXcel的内容
DATATABLE B=NEW DATATABLE()
B=A.CLONE();
DATATABLE C=NEW DATATABLE();
C=(DATATABLE) DATAGRIDVIEW.DATASOURECE();
FOR(INT I=0;I<A.ROWS.COUNT-1;I++)
{

for( int j=0;j<C.ROWS.COUNT-1;j++)
{
IF(A.ROWS[I]["key"].TOSTRING=C.ROWSj]["key"].TOSTRING)
{
//进行列添加操作j代表的是GRIDVIEW的第j行
break;
}
}

}

本回答被提问者采纳
第2个回答  2013-04-12
这excel数据都是从datagridview导出的数据,还用对比吗?是不是有点多余操作呢?
如果excel数据是从其他表导出的,那么你可以把excel数据作为数据源,用SELECT * FROM [SHEET1$]读出数据,然后和比较的datagridview的数据源作比对就好了!
第3个回答  2013-04-15
建议你用PageOffice
相似回答