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的权利?