C# datagridview 与 excel 之间的操作问题,求指点。

问题描述

两个地区的收支平衡,每个地区都导出一张EXECL的表格,然后要将两张EXECL表内的数据相加在一起,在导入到datagridview里面。求指点,导出没问题,但是导入的时候如何将两张EXECL合并在一起,这就是导出之后的EXECL。。有两张,要将他们的数据相加在一起,然后在导入到datagridview中。

解决方案

解决方案二:
你可以分别将数据都导入到2个datatable中,将2个合并,再绑定到datagridview里c#excel导入datagridviewhttp://blog.sina.com.cn/s/blog_4c9ae6fc0100e0ai.html
解决方案三:
多个DataTable的合并成一个新表http://www.2cto.com/database/201112/113855.html
解决方案四:
关键我要将两张EXECL表格内的数据进行合并就是相加,这个怎么办呢?
解决方案五:
引用3楼senguang145的回复:

关键我要将两张EXECL表格内的数据进行合并就是相加,这个怎么办呢?

首先lz要理解要想把两张Excel文件中的内容通过使用程序导入到dataGridView中,其实就是通过查询到Excel数据,当然查询excel文件也有一套独立的查询方式。直接贴代码了,///<summary>[align=left]///Excel数据连接字符串///</summary>privateconststringEXCELConnString="Provider=Microsoft.ACE.OLEDB.12.0;ExtendedProperties='Excel12.0;HDR=YES;IMEX=1';DataSource=";[/align]///<summary>///读取Excel到DataTable///</summary>///<paramname="Path"></param>publicstaticSystem.Data.DataTableReadExcelToDataTable(stringPath){DataSetds=newDataSet();stringqueryString="SELECT*FROM[Sheet1$]";stringpath=EXCELConnString+Path;using(OleDbConnectionconnection=newOleDbConnection(path)){try{OleDbCommandoleCommand=newOleDbCommand(queryString,connection);if(connection.State==ConnectionState.Closed){connection.Open();}OleDbDataAdapteroleAdapter=newOleDbDataAdapter(oleCommand);oleAdapter.Fill(ds,"[Sheet1$]");}catch(System.Exception){returnnull;}}//数据绑定returnds.Tables[0];}

通过两次查询excel文件可以得到两个DataTable,在按照2楼的方法合并DataTable就可以了。
解决方案六:
引用4楼duanzi_peng的回复:

Quote: 引用3楼senguang145的回复:
关键我要将两张EXECL表格内的数据进行合并就是相加,这个怎么办呢?

首先lz要理解要想把两张Excel文件中的内容通过使用程序导入到dataGridView中,其实就是通过查询到Excel数据,当然查询excel文件也有一套独立的查询方式。直接贴代码了,///<summary>[align=left]///Excel数据连接字符串///</summary>privateconststringEXCELConnString="Provider=Microsoft.ACE.OLEDB.12.0;ExtendedProperties='Excel12.0;HDR=YES;IMEX=1';DataSource=";[/align]///<summary>///读取Excel到DataTable///</summary>///<paramname="Path"></param>publicstaticSystem.Data.DataTableReadExcelToDataTable(stringPath){DataSetds=newDataSet();stringqueryString="SELECT*FROM[Sheet1$]";stringpath=EXCELConnString+Path;using(OleDbConnectionconnection=newOleDbConnection(path)){try{OleDbCommandoleCommand=newOleDbCommand(queryString,connection);if(connection.State==ConnectionState.Closed){connection.Open();}OleDbDataAdapteroleAdapter=newOleDbDataAdapter(oleCommand);oleAdapter.Fill(ds,"[Sheet1$]");}catch(System.Exception){returnnull;}}//数据绑定returnds.Tables[0];}

通过两次查询excel文件可以得到两个DataTable,在按照2楼的方法合并DataTable就可以了。

注意Excel数据连接字符串,看你的excel版本,版本不同链接字符串也不同。
解决方案七:
思路就是查询放到datatable中,合并,datagridview绑定

时间: 2024-12-07 14:26:09

C# datagridview 与 excel 之间的操作问题,求指点。的相关文章

针对Excel表格文件操作的编程实现

简介 通过本文及配套示例源码你可以更加灵活的控制Excel表格文件,其中包括创建新Excel文件.写入表格数据.读取表格数据(包括对原建Excel文件自已手工添加的行.列数据的准确读取),删除已有Excel表格,对表格中指定行.列.单元格进行查询.插入.替换等操作,同时还可以将生成的Excel文件转换为按指定分隔符分隔的其它文本格式的文件.下面是把此方法用VC6编写的示例程序运行效果: 基本思路 基础实现方法同上篇文章<直接通过ODBC读.写Excel表格文件>相同,都是通过ODBC来把Exc

cad-CAD二次开发如何与Excel之间通信

问题描述 CAD二次开发如何与Excel之间通信 AutoCad中利用Ole已经包含了导入Excel表格功能,但我想自己编写一个小软件导入Excel表格,请问如何利用CAD提供的接口去开发?

数据库-新手求教SQL server语句 求和,多个表之间的操作

问题描述 新手求教SQL server语句 求和,多个表之间的操作 SQL求和插入,求C表更新每个OrderID的SUM_Fee,SUM_Fee对应B表每个OrderId的总和(A表的B_ID对应B表的ID,B_ID记录单个Fee)? 解决方案 SQL Server 2005 用触发器跟踪表操作 解决方案二: update C set SUM_Fee=(select SUM(orderid) from B where B.orderid=C.orderid)没看懂A表,不是太明确的需求... 解

子父窗口之间的操作之小例子

父窗口       用window.openr打开的子父窗口之间的操作跟框架的是不一样的,子窗口和父窗口之间有opener来联系.而源窗口要访问子窗口要通过其句柄来操作.以下小例子希望能帮助新手更了解他们的操作.test.htm <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GE

update-C# 对Excel进行写操作,但只能在每列的第一行进行更新填写,到底是哪里出错了?

问题描述 C# 对Excel进行写操作,但只能在每列的第一行进行更新填写,到底是哪里出错了? try { this.conOleDB.Open(); command = new OleDbCommand(string.Format(""UPDATE [{0}${1}:{2}] Set F1=""{3}"""" new object[] { sheetName cellName cellName value2Write }) t

合并-关于EXCEL中宏操作,如何用宏处理重复数据

问题描述 关于EXCEL中宏操作,如何用宏处理重复数据 如何使用EXCEL中的宏啊,EXCEL版本为2010,我想通过宏将表中应用账号相同的数据合并成一条,具体如何操作呢 数据合并成一条,如何操作呢? 解决方案 vim重复操作的宏录制vim重复操作的宏录制vim重复操作的宏录制 解决方案二: 好像有一个按钮是可以删除的,数据选项里找找呢

datagridview导出excel

问题描述 datagridview导出excel 开始是生成03的excel,我想改成生成07的excel,要怎么去实现? 解决方案 NPOI 比较好的选择,可以导入导出,支持2003和2007 .NET用,开源的 解决方案二: 参考:http://blog.csdn.net/lanshengsheng2012/article/details/11479183 同时支持2003 2007 NPOI.HSSF 2003 NPOI.XSSF 2007 代码不需要任何修改 解决方案三: 在导出之前要先

java可以实现excel的另存为操作么

问题描述 java可以实现excel的另存为操作么 使用jxl输出的一个excel表导入,spss会出现中文乱码.打开excel进行另存为操作后,再次导入spss,就是正常中文啦. 解决方案 设置一下编码应该就可以了吧,不用再另存为 解决方案二: 是这么设置的么 好像没有效果? //设置编码格式 WorkbookSettings workbookSettings = new WorkbookSettings(); workbookSettings.setEncoding("utf-8"

winform-c# winfrom datagridview导出excel

问题描述 c# winfrom datagridview导出excel 找了好久的了,网上的都有问题,哪位大神能给个完美的解决方案,急啊 解决方案 没有完美的方案,只有是否合适的方案. 如果只是简单的数值.数据,可以用csv的格式.把表格写成有格式的文本即可. 再要复杂,用C#调用Excel的组件. 还要再复杂,把Excel做成一个数据源,C#编码连接上去,创建表.插入数据.