我使用oledb连接字符串导入excel表.我正在引用12.0对象库.我尝试使用excel 2003和2007,但是得到了同样的例外,如下所示
创建从IClassFactory的CLSID {00020820-0000-0000-C000-000000000046}的COM组件的一个实例失败,原因是以下错误:80010001.
我的代码是
txtpath.Text = fdlg.FileName;
Excel.Worksheet worksheet = new Excel.Worksheet();
Excel.Sheets sheets;
Excel.Workbook theWorkbook;
string SheetName;
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"" + txtpath.Text + "\";Extended Properties=\"Excel 12.0 Xml;HDR=Yes;\";");
conn.Open();
Excel.Application ExcelObj = null;
ExcelObj = new Excel.Application();
theWorkbook = ExcelObj.Workbooks.Open(txtpath.Text, 0, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", true, true, 0, true, 1, 0);
sheets = theWorkbook.Worksheets;
worksheet = (Excel.Worksheet)theWorkbook.Worksheets.get_Item(1);
SheetName = worksheet.Name.Trim();
OleDbDataAdapter da = new OleDbDataAdapter("Select * FROM [" + SheetName + "$]", conn);
DataSet ds = new DataSet();
da.Fill(ds);
Run Code Online (Sandbox Code Playgroud)
请帮忙.
这是一个非常低级的 COM 错误,RPC_E_CALL_REJECTED,“调用被被调用者拒绝”。这没有多大帮助,但显然 Excel 对您的代码不太满意。以下陈述是一个非常好的候选者:
Excel.Worksheet worksheet = new Excel.Worksheet();
Run Code Online (Sandbox Code Playgroud)
失去它,它没有任何用处。始终需要首先创建应用程序对象。
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |