程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#以操作數據庫方式訪問EXCEL文件的幾個常見問題及解決方法

C#以操作數據庫方式訪問EXCEL文件的幾個常見問題及解決方法

編輯:C#入門知識

除了像sql server,access常見的數據庫,其實Excel文件也可以做為數據庫訪問。
ado.net訪問excel的實例:
OleDbConnection cn = new OleDbConnection();
cn.ConnectionString = @"provider=Microsoft.jet.oledb.4.0;data source=[excel文件路徑];Extended Properties=""Excel 8.0;HDR=YES;""";
cn.Open();
OleDbDataAdapter oda = new OleDbDataAdapter("select * from [Sheet1$]", cn);
dtCode = new DataSet();
oda.Fill(dtCode);
dataGridView1.DataSource = dtCode.Tables[0].DefaultView;
注意:
1、EXCEL的工作簿名作為表名,如Sheet1書寫為[Sheet1$],[]和$都不能省略
2、訪問方式為oledb方式,provider=Microsoft.jet.oledb.4.0 ,特別是Extended Properties=""Excel 8.0;HDR=YES;"" 不能省略,省略就錯了。HDR=YES表示excel表格的第一行數據作為表的字段名,實際數據從第二行開始。
我在第一次做的時候碰到兩個問題。
(1)提示"找不到可安裝的ISAM"
這個是由於連接字符串缺少Extended Properties=""Excel 8.0;HDR=YES;"" 導致的。
(2)提示"索引103開始處,初始化字符串的格式不符合規范"
這是由於連接字符串書寫錯誤造成的,請參考正確的格式。這個錯誤的提示對應的鏈接字符串如下:
"provider=Microsoft.jet.oledb.4.0;data source=[excel文件路徑];Extended Properties=""Excel 8.0;HDR=YES;"
可以看到錯誤是由於Extended Properties的值是由""括起來的,由於丟失了右邊的括號,造成不符合規范。
 

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved