C#操作excel工作表全解

上传人:夏** 文档编号:473959053 上传时间:2023-03-07 格式:DOCX 页数:3 大小:13.02KB
返回 下载 相关 举报
C#操作excel工作表全解_第1页
第1页 / 共3页
C#操作excel工作表全解_第2页
第2页 / 共3页
C#操作excel工作表全解_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《C#操作excel工作表全解》由会员分享,可在线阅读,更多相关《C#操作excel工作表全解(3页珍藏版)》请在金锄头文库上搜索。

1、C#操作Excel(创建、打开、读写、保存)几种方法的总结Posted on 2010-04-27 22:38 Happy Coding 阅读(1588)评论(1)编辑 收藏在.NET开发中,不管是web程序还是桌面软件(尤其是涉及数据库操作的MIS系统等),常常需操作Excel, 如导出数据到Excel,读取Excel中数据到程序中等。总结起来,其操作不外乎创建、打开、读写、保存(后退出/释 放),而其操作方法,则主要有:通过ADO.NET数据连接方式、通过Excel对象模型“自动化操作、使用中间数据 格式如文本文件,XML等间接操作Excel、使用第三方控件(主要用于向Excel传输数据)

2、等。在开始讨论之前,先把相关的一些网上资源罗列一下,其中大部分来自MSDN:MSDN:如何使用Visual C# 2005或Visual C# .NET向Excel工作簿传输数据 http:/ Interop创建Excel电子表格(C#编程指南)http:/ XP主互操作程序集入门http:/ C#使Excel自动执行操作以使用数组来填充或获取某区域中的数据 http:/ Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化 http:/ C# .NET处理Excel事件http:/ C# .NET查询和显示Excel数据 http:/ Visual

3、 C#.NET 中使用 GetOleDbSchemaTable 从 Excel 如何:检索元数据http:/ 一起使用Visual Basic和ASP生成Excel 2003工作簿 http:/ 通过ADO.NET数据库连接方式Microso代Jet提供程序用于连接到Excel工作簿。在以下连接字符串中,Extended Properties关键字设置Excel 特定的属性。“HDR=Yes”指示第一行中包含列名,而不是数据,“IMEX = 1”通知驱动程序始终将互混数据列作为 文本读取。Excel 8.0针对Excel2000及以上版本,Excel5.0针对Excel97。Provider=

4、Microsoft.Jet.OLEDB.4.0;Data Source=D:MyExcel.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1注意,Extended Properties所需的双引号必须还要加双引号。使用ADO.NET打开、读取并关闭代码示例如下:using System.Data.OleDb;using System.Data;String sConnectionString = Provider二Microsoft.Jet.OLEDB.4.0; +Data Source二c:/test.xls; +Extended Proper

5、ties=Excel 8.0;OleDbConnection objConn = new OleDbConnection(sConnectionString);objConn.Open();OleDbCommand objCmdSelect =new OleDbCommand(SELECT * FROM sheet1, objConn);OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();objAdapter1.SelectCommand = objCmdSelect;DataSet objDataset1 = new DataSet()

6、;/将Excel中数据填充到数据集objAdapter1.Fill(objDataset1, XLData);objConn.Close();从上面可以看出,使用ADO.NET可将Excel当作普通数据库,使用SQL语句来操作。通过ADO.NET获取Excel文件的各Sheet名称,可使用元数据方式:String sConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; +Data Source=c:/test.xls; +Extended Properties=Excel 8.0;OleDbConnection cn = new OleDbC

7、onnection(sConnectionString);cn.Open();DataTable tb = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);foreach (DataRow row in tb.Rows)/遍历弹出各Sheet的名称MessageBox.Show(rowTABLE_NAME);关于使用ADO.NET创建并写入Excel文件与普通数据库操作极为类似,参见以下代码:String sConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; +Data Source

8、二c:/test.xls; +Extended Properties=Excel 8.0;”;OleDbConnection cn = new OleDbConnection(sConnectionString);string sqlCreate = CREATE TABLE TestSheet (ID INTEGER,Username VarChar,UserPwd VarChar);OleDbCommand cmd = new OleDbCommand(sqlCreate, cn);/创建 Excel 文件:C:/test.xlscn.Open();/创建TestSheet工作表cmd.E

9、xecuteNonQuery();/添加数据cmd.CommandText = INSERT INTO TestSheet VALUES(1,elmer,password)”;cmd.ExecuteNonQuery();/关闭连接cn.Close();关于SQL语句中用到的数据类型,请查看System.Data.OleDb.OleDbType枚举。至此,使用ADO.NET打开、创建、读取、写入、保存并退出已全部实现,总结起来,与数据库操 作基本无异,很简单。这种方式的好处就是通用性强,将Excel中内容看作数据表,读取操作简 单可靠,适合内容规范的Excel表格的数据读取。缺点是当Excel结构复杂,如含合并单元等时, 无法正确读取,甚至出现不可预知的异常。2. 通过Excel对象模型的“自动化”操作3. 通过中间数据格式间接操作4. 使用第三方控件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号