c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
来源:互联网 发布:淘宝店铺满屏海报尺寸 编辑:程序博客网 时间:2024/06/13 16:17
Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键字设置 Excel 特定的属性。“HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。
Provider=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 Properties=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();//将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 OleDbConnection(sConnectionString);cn.Open();DataTable tb = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);foreach (DataRow row in tb.Rows){ //遍历弹出各Sheet的名称 MessageBox.Show(row["TABLE_NAME"]);}
关于使用ADO.NET创建并写入Excel文件与普通数据库操作极为类似,参见以下代码:
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=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.ExecuteNonQuery();//添加数据cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')";cmd.ExecuteNonQuery();//关闭连接cn.Close();
关于SQL语句中用到的数据类型,请查看System.Data.OleDb.OleDbType 枚举。
至此,使用ADO.NET打开、创建、读取、写入、保存并退出已全部实现,总结起来,与数据库操作基本无异,很简单。这种方式的好处就是通用性强,将Excel中内容看作数据表,读取操作简单可靠,适合内容规范的Excel表格的数据读取。缺点是当Excel结构复杂,如含合并单元等时,无法正确读取,甚至出现不可预知的异常。
转载自:http://blog.csdn.net/hlzyly/article/details/5710644
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- C# OLEDB方式读取Excel文件数据
- 采用OleDB读取EXCEL文件
- 采用OLEDB读取EXCEL文件
- c#操作excel方式二:采用OleDB操作Excel文件
- C#读取EXCEL 文件同时向文件中写入数据和Excel的Range对象
- C#中Excel文件的读取的两种方法:Excel类和OleDb
- C#读取excel--OLEDB方式
- 将数据库中读取的文件写入Excel文件
- 将excel文件中的数据导入导出至SQL数据库中(Microsoft.Jet.OLEDB.4.0和
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- mysql 5.5.27 安装 设置字符集支持uft8mb4
- js中字符串方法
- Ubuntu 11.04 下安装配置 JDK 7
- [自己写的小软件]MANAGER_FOR_MYSQL-1.0 的使用
- POJ 2352 - Stars
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- 让Android自带的Gallery实现多点缩放,拖动和边界回弹效果,效果流畅 .
- 新闻热点发现
- php 5.4.5 安装
- Linux 线程(创建/等待/终止)
- 邂逅-------秋天的童话
- spring annotation处理Aop
- wsdl在soap中的应用
- 2011 Asia Dalian Regional Contest Hexadecimal View