程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET實現讀取Excel內容並在Web上顯示

ASP.NET實現讀取Excel內容並在Web上顯示

編輯:ASP.NET基礎

本文實例講述了ASP.NET實現讀取Excel內容並在Web上顯示的方法,是非常實用的一個功能,分享給大家供大家參考。具體實現方法如下:

點擊事件代碼.cs代碼如下:

protected void Button1_Click(object sender, EventArgs e)
{
    string strPath = "d:/test.xls";
    string mystring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = '" + strPath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
      //"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + strPath + "';Extended Properties=Excel 8.0";
    OleDbConnection cnnxls = new OleDbConnection(mystring);
    OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls);
    DataSet myDs = new DataSet();
    myDa.Fill(myDs);
    DataGrid1.DataSource = myDs.Tables[0];
    DataGrid1.DataBind(); 
}

注意:

如果使用經典的"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + strPath + "';Extended Properties=Excel 8.0"會報錯:外部表不是預期的格式

這是因為:Microsoft.Jet.OLEDB.4.0是Microsoft Jet引擎,這適用於2003版本(2003之前的沒有測試過,所以也不知道能向下適應到哪個版本),而在2007中,微軟對其旗下 Access 與 Excel 的主要文件格式進行修改,並且重命名為 .accdb(Access 2007 數據庫文件)與 .xlsx(Excel 2007 文件),因此未被 Microsoft Jet 引擎所支持,不過微軟也很快的提出了 Microsoft Office 2007 Desktop Drivers: Data Connectivity Components 來支持。

因此,解決方法就是把連接字符串中的數據提供者改為 Microsoft.ACE.OLEDB.12.0即可。

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