2018年6月3日 星期日

[C#, Windows]Excel讀取出現['Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上]錯誤,解決方法

使用C#讀取Excel
讀取範例程式碼
---------------------------------------------------------------------------------------------------
 string tableName = "[" + sheet + "$]";//在頁簽名稱後加$,再用中括號[]包起來
 string sql = "SELECT * FROM " + tableName;//SQL查詢
 OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data   Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;Readonly=0'");
 OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
 DataTable dt = new DataTable();

  try
  {
      da.Fill(dt);//第一行為標頭
   }
   catch (Exception ex)
   {}
   finally
   {
      conn.Close();
   }
----------------------------------------------------------------------------------------------------
解決方法
原因:Office版本太新,需要使用舊版本的連線元件,下載網址如下
2007 Office system 驅動程式:資料連線元件

沒有留言:

張貼留言

[JQuary][C#]使用jQuary實作form action post參數

網頁轉址一般分為 1.直接導向Url 2.夾帶Get參數在Url後面 如果要使用Post的方式要如何跳轉呢? Ans:使用Form Action 設定Method='Post' 範例前端程式 -----------------------------...