[ASP.NET] 使用 OleDb 匯入 Excel 資料

摘要:[ASP.NET] 使用 OleDb 匯入 Excel 資料

前言


匯入Excel的方式有好幾種,這邊介紹使用OleDb方式匯入Excel資料,請參考以下範例。

 

範例


程式碼如下:


string serverPath = Server.MapPath("~/FileSystem/import.xls");
string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + serverPath + 
                       ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";
using (OleDbConnection connection = new OleDbConnection(connectString))
{
    string commText = "SELECT * FROM [Sheet1$]";
    OleDbCommand command = new OleDbCommand(commText, connection);
    command.Connection.Open();
    DataTable dt = new DataTable();
    OleDbDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        Response.Write(string.Format("編號:{0},名稱:{1},數量:{2},單價:{3}",
                              reader[0], reader[1], reader[2], reader[3]));
    }
    reader.Close();
} 

在ConnectString的Extended Properties部分:

  1. Excel 8.0 : Excel 8.0 適用 office 97 - 2003 格式。
  2. HDR ( HeaDer Row ) : YESNO兩種,YES的表示第一列是標題列不讀取,NO的話則會讀取第一列出來。
  3. IMEX : 讀寫的模式,分三種 0:Export Mode(寫), 1:Import Mode(讀), 2:Linked Mode(讀/寫),一般設定1

 

範例程式碼


TImportExcel.rar

 

 


以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)