本文實現在c#中可高效的將excel資料匯入到sqlserver資料庫中,很多人通過迴圈來拼接sql,這樣做不但容易出錯而且效率低下,最好的辦法是使用bcp,也就是system.data.sqlclient.sqlbulkcopy 類來實現。不但速度快,而且**簡單,下面測試**匯入乙個6萬多條資料的sheet,包括讀取(全部讀取比較慢)在我的開發環境中只需要10秒左右,而真正的匯入過程只需要4.5秒。
//我在這裡出現問題,提示我第一行&出現語法錯誤,後來是將'改為單引號』問題解決。
foreach (system.data.datacolumn c in ds.tables[0].columns)
] varchar(255),", c.columnname);
}
strsql = strsql.trim(',') + ")";
using (system.data.sqlclient.sqlconnection sqlconn = new system.data.sqlclient.sqlconnection(connectionstring))
//用bcp匯入資料
using (system.data.sqlclient.sqlbulkcopy bcp = new system.data.sqlclient.sqlbulkcopy(connectionstring))
}
catch (exception ex)
}
//進度顯示
void bcp_sqlrowscopied(object sender, system.data.sqlclient.sqlrowscopiedeventargs e)
}
}
// 這個不知道怎麼做。
如何在c#中獲取excel檔案表的結構資訊?
感謝這位不知名的作者,謝謝!
讀取Excel資料到DataTable
讀取excel資料到datatable 獲取指定路徑 指定工作簿名稱的excel資料 取第乙個sheet的資料 檔案儲存路徑 工作簿名稱 如果爭取找到了資料會返回乙個完整的table,否則返回異常 public datatable getexceldata string astrfilename r...
讀取Excel到SQL資料庫(方法一)
public dataset getexceldata string strpath,string strsheetname,string strtablename 從excel中讀取資料到dataset中 try string strconn provider microsoft.jet.oled...
C 讀取excel資料到datatable中
1 datatable dtgbpatient new datatable 23 string strconn string excelname 45 注意 把乙個excel檔案看做乙個資料庫,乙個sheet看做一張表。語法 select from sheet1 表單要使用 和 67 1 hdr表示...