这篇文章给大家介绍怎么在Asp.Net中利用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。
usingSystem.Data.OleDb;
usingSystem.Data;
StringsConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource=c:/test.xls;"+
"ExtendedProperties=Excel8.0;";
OleDbConnectionobjConn=newOleDbConnection(sConnectionString);
objConn.Open();
OleDbCommandobjCmdSelect=newOleDbCommand("SELECT*FROM[sheet1]",objConn);
OleDbDataAdapterobjAdapter1=newOleDbDataAdapter();
objAdapter1.SelectCommand=objCmdSelect;
DataSetobjDataset1=newDataSet();
//将Excel中数据填充到数据集
objAdapter1.Fill(objDataset1,"XLData");
objConn.Close();
从上面可以看出,使用ADO.NET可将Excel当作普通数据库,使用SQL语句来操作。
通过ADO.NET获取Excel文件的各Sheet名称,可使用元数据方式:
StringsConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource=c:/test.xls;"+
"ExtendedProperties=Excel8.0;";
OleDbConnectioncn=newOleDbConnection(sConnectionString);
cn.Open();
DataTabletb=cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
foreach(DataRowrowintb.Rows)
{
//遍历弹出各Sheet的名称
MessageBox.Show(row["TABLE_NAME"]);
}
关于使用ADO.NET创建并写入Excel文件与普通数据库操作极为类似,参见以下代码:
StringsConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource=c:/test.xls;"+
"ExtendedProperties=Excel8.0;";
OleDbConnectioncn=newOleDbConnection(sConnectionString);
stringsqlCreate="CREATETABLETestSheet([ID]INTEGER,[Username]VarChar,[UserPwd]VarChar)";
OleDbCommandcmd=newOleDbCommand(sqlCreate,cn);
//创建Excel文件:C:/test.xls
cn.Open();
//创建TestSheet工作表
cmd.ExecuteNonQuery();
//添加数据
cmd.CommandText="INSERTINTOTestSheetVALUES(1,'elmer','password')";
cmd.ExecuteNonQuery();
//关闭连接
cn.Close();
关于怎么在Asp.Net中利用oleDbConnection 连接Excel就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。