【发布时间】:2013-02-04 11:23:14
【问题描述】:
我下载了一个 XLS 电子表格,并尝试将其导入到 .net 数据表中。 sheet的结构如下:
(没有名称的日期列),流入(kWh),流出(kWh),库存(kWh)
连接字符串是:
" Provider=Microsoft.Jet.OleDb.4.0;Data Source=sheet.xls;Extended Properties="Excel 8.0;IMEX = 1"
不起作用的事情:
- "SELECT * FROM [Sheet1$]" selects: NoName, Inflow_(kWh), Outflow_(kWh) and the last column is missing
- "SELECT [Stock (kWh)] FROM [Sheet1$]" returns: "No value given for one or more required parameters."
- "SELECT [Stock_(kWh)] FROM [Sheet1$]" returns: "No value given for one or more required parameters."
- "SELECT * FROM [Sheet1$A:D]" Selects: NoName, Inflow_(kWh), Outflow_(kWh) and the last column is missing
可行但不是解决方案的方法:
- "SELECT * FROM [Sheet1$D:D]" Selects: Stock_(kWh) but all other columns are missing
如果我在下载文件后在 Excel 中打开文件(不保存)然后尝试导入它,那么它可以工作。
Excel 互操作工作
有什么想法吗?有人吗?
【问题讨论】:
-
我的 ConnectionString 是 :" Provider=Microsoft.Jet.OleDb.4.0;Data Source=sheet.xls;Extended Properties="Excel 8.0;IMEX = 1" (添加或删除 IMEX 不会改变任何东西)
-
看看这个家伙的问题,看看连接字符串部分StackOverFlow OleDbCommand Select
-
不幸的是,将连接字符串更改为 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=sheet.xls;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1;" 没有有什么影响