抛出C#异常:尝试连接到excel

时间:2017-11-10 11:49:18

标签: c# .net excel office-interop oledbconnection

我试图在没有办公室安装的情况下从C#中读取Excel中的数据。

我的代码

DataTable dTable;
DataTable dTable_Fixed;

string sProvider = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source= {0};Extended Properties='Excel 12.0;HDR=No;IMEX=1'";
string sourceConstr = string.Format(sProvider.ToString(), file_name);

OleDbConnection con = new OleDbConnection(sourceConstr);
OleDbCommand oleDbCmd = new OleDbCommand();
con.Open();

DataTable dt1 = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

string firstExcelSheetName = dt1.Rows[0][2].ToString();
string query = "select * from [" + firstExcelSheetName + "]";
OleDbDataAdapter data = new OleDbDataAdapter(query, con);
data.TableMappings.Add("Table", "Sheet1");
dTable = new DataTable();

data.Fill(dTable);

未建立连接。我收到错误日志。

  

抛出异常:'System.Data.OleDb.OleDbException'中   System.Data.dll'iisexpress.exe'(CLR v4.0.30319:/ LM / W3SVC / 2 / ROOT-1-131547875442986389):已加载   'C:\ WINDOWS \ Microsoft.Net \装配\ GAC_MSIL \ System.Numerics \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Numerics.dll'。   跳过加载符号。模块已优化并具有调试器选项   'Just My Code'已启用。应用见解遥测   (取消配置):   { “名”: “Microsoft.ApplicationInsights.Dev ..,” ai.operation.name “:” POST   FileDownload “},” 数据 “:{” 基本类型 “:” 的RequestData “ ”baseData“:{ ”VER“:2 ”ID“: ”9AAlQXMsrt4 =“, ”名称“:” POST   FileDownload”, “持续时间”: “00:00:06.9290000”, “成功”:假 “responseCode”: “500”, “URL”: “http://localhost:52087/api/FileDownload?Company_ID=CO_2005”, “属性”:{ “DeveloperMode”: “真正”}}}}   线程0x3de0已退出,代码为0(0x0)。该计划'[19508]   chrome.exe:WebKit'已退出,代码为-1(0xffffffff)。该程序   '[15740] iisexpress.exe已退出,代码为-1(0xffffffff)。

我错过了什么吗?

0 个答案:

没有答案