好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Asp.Net(C#)使用oleDbConnection 连接Excel的方法

Asp.Net(C#)使用oleDbConnection 连接Excel

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/MyExcel.xls;Extended Properties= "Excel 8.0;HDR=Yes;IMEX=1"

针对如果上连接字符串 对相关属性进行说明如下:"HDR=Yes;]指示第一行中包含列名,而不是数据,"IMEX=1;]通知驱动程序始终将[互混]数据列作为文本读取。Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。

?

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.xls

cn.Open();

//创建TestSheet工作表

cmd.ExecuteNonQuery();

//添加数据

cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')" ;

cmd.ExecuteNonQuery();

//关闭连接

cn.Close();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://HdhCmsTestcnsendblog测试数据/?p=84

dy("nrwz");

查看更多关于Asp.Net(C#)使用oleDbConnection 连接Excel的方法的详细内容...

  阅读:50次