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ū)動(dòng)程序始終將“互混”數(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#開發(fā)Windows UWP系列之布局面板RelativePanel
這篇文章介紹了C#開發(fā)Windows UWP系列之布局面板RelativePanel,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
C#結(jié)合AForge實(shí)現(xiàn)攝像頭錄像
最近由于興趣學(xué)習(xí)了下在C#上使用AForge錄制攝像頭視頻并壓縮編碼??傮w上來說這個(gè)第三方.net視覺開發(fā)庫還是比較穩(wěn)定的2017-09-09
C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓
這篇文章主要介紹了C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓,zip?是一個(gè)非常常見的壓縮包格式,本文主要用于說明如何使用代碼?文件或文件夾壓縮為?zip壓縮包及其解壓操作,需要的朋友可以參考下2022-09-09
C#?如何使用批處理啟動(dòng)Windows服務(wù)
這篇文章主要介紹了C#使用批處理啟動(dòng)Windows服務(wù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
C# SimpleJSON字典反序列化實(shí)戰(zhàn)教程
C# 解析JSON道路千萬條,其中最流行的還是由Newtonsoft出品的Json.NET,只需要將Json的結(jié)構(gòu)做成C#的class,即可實(shí)現(xiàn)完美的序列化和反序列化,這篇文章主要介紹了C# SimpleJSON字典反序列化實(shí)戰(zhàn)教程,需要的朋友可以參考下2024-03-03
C#與Java的MD5簡單驗(yàn)證(實(shí)例代碼)
下面小編就為大家?guī)硪黄狢#與Java的MD5簡單驗(yàn)證(實(shí)例代碼)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09

