Excel OleDbCommand SELECT *不会select所有列
我下载了一个XLS电子表格,我试图将其导入到一个.net数据表中。 该表的结构如下:
(没有名字的date栏),stream入(千瓦时),stream出(千瓦时),库存(千瓦时)
ConnectionString是:
" 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
事情工作,但不是一个解决scheme:
- "SELECT * FROM [Sheet1$D:D]" Selects: Stock_(kWh) but all other columns are missing
-
如果我打开文件在Excel中(不保存),我下载后,然后尝试导入它然后它的工作。
-
Excel互操作
有任何想法吗? 任何人?
这是我在我的一个应用程序中使用的连接string,当我使用SELECT * FROM [worksheetName $]时,
string connString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='{0}';Extended Properties=\"Excel 8.0;IMEX=1\""
它看起来非常类似于你的,除了我有单引号围绕数据源,我逃避我的双引号(假设你正在做的,但也没有显示出来)。 所以我不认为连接string是你的问题。
当您selectD:D来获取缺less的股票栏时,它是什么数据types? 如果您使用GetOleDbSchemaTable查看元数据,它将为该表显示哪些列,以及缺less列的数据types?
你能给我们从你的电子表格中的几行例子,所以我们可以看到数据会是什么样子,也许试试看? 另外,这是一个XLS,而不是XLSX的权利?