[英]Loop worksheets in excel using c#
我想在Excel中循環所有工作表,並需要將其插入到sql server表中。
我已經完成了編碼部分,可以將一張工作表Excel插入到sql server表中。
如果excel包含更多工作表,我想循環這些工作表,並需要將其插入sql server表中。
我已經為循環目的編寫了以下代碼,但是它給出了以下錯誤;
“”捕獲了ComException“”由於以下錯誤,檢索具有CLSID {00024500-0000-0000-C000-000000000046}的組件的COM類工廠失敗:80040154未注冊類(HRESULT的異常:0x80040154(REGDB_E_CLASSNOTREG))。
這是循環代碼:
string path = @"D:/Projects/sample.xls";
string strConnection = ConfigurationManager.ConnectionStrings["Source"].ToString();
string excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";";
Excel.Application ExcelApp = new Excel.Application();
var Wbook = ExcelApp.Workbooks.Open(path);
foreach (var sheet in Wbook.Worksheets)
{
OleDbCommand cmd = new OleDbCommand("Select [Name], [City], [Address], [Designation] from [" + sheet + "$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "temp1";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();
}
但是在執行生產線時
var Wbook = ExcelApp.Workbooks.Open(path);
出現上述錯誤。 請給我建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.