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"
針對如果上連接字符串 對相關(guān)屬性進(jìn)行說明如下:"HDR=Yes;”指示第一行中包含列名,而不是數(shù)據(jù),"IMEX=1;”通知驅(qū)動程序始終將“互混”數(shù)據(jù)列作為文本讀取。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中數(shù)據(jù)填充到數(shù)據(jù)集 objAdapter1.Fill(objDataset1, "XLData"); objConn.Close();
從上面可以看出,使用ADO.NET可將Excel當(dāng)作普通數(shù)據(jù)庫,使用SQL語句來操作。
通過ADO.NET獲取Excel文件的各Sheet名稱,可使用元數(shù)據(jù)方式:
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"]); }
關(guān)于使用ADO.NET創(chuàng)建并寫入Excel文件與普通數(shù)據(jù)庫操作極為類似,參見以下代碼:
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); //創(chuàng)建Excel文件:C:/test.xls cn.Open(); //創(chuàng)建TestSheet工作表 cmd.ExecuteNonQuery(); //添加數(shù)據(jù) cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')"; cmd.ExecuteNonQuery(); //關(guān)閉連接 cn.Close();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C# WinForm創(chuàng)建Excel文件的實例
下面小編就為大家?guī)硪黄狢# WinForm創(chuàng)建Excel文件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01C# 實現(xiàn)把double 存成兩位精度小數(shù)
這篇文章主要介紹了C# 實現(xiàn)把double 存成兩位精度小數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12C#查詢SqlServer數(shù)據(jù)庫并返回單個值的方法
這篇文章主要介紹了C#查詢SqlServer數(shù)據(jù)庫并返回單個值的方法,涉及C#操作SQLServer數(shù)據(jù)庫查詢的相關(guān)技巧,需要的朋友可以參考下2015-06-06c#判斷字符是否為中文的三種方法分享(正則表達(dá)式判斷)
判斷一個字符是不是漢字通常有三種方法,第一種用 ASCII 碼判斷,第二種用漢字的UNICODE編碼范圍判斷,第三種用正則表達(dá)式判斷,以下是具體方法2014-01-01