【发布时间】:2010-04-11 15:40:32
【问题描述】:
我想打开一个xlsx文件,我试过下面的代码,但它既没有打开也没有抛出任何错误。
任何人都可以对它提出任何启示
string path = "C:\\examples\\file1.xlsx";
string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";");
OleDbConnection cn = new OleDbConnection(connString);
cn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", cn);
DataTable dt = new DataTable();
adapter.Fill(dt);
【问题讨论】:
-
“未打开”是什么意思?你没有打开任何东西,你正在运行一个查询。语法很好,没有异常表明 dt 填充了行或工作表为空。添加 Console.WriteLine(dt.Rows.Count) 进行基本检查。
-
我建议直接尝试一个 SELECT 表达式,然后在填充 DT 之前看看你得到了什么。如果查询出现错误,请将其添加到此处的问题中。如果它没有并说它成功,那么 Hans 是正确的,因为你的工作表是空的。