阅读excel中的所有列

时间:2015-12-08 05:25:54

标签: c# excel oledb

如何阅读包含空白栏的Excel电子表格。我有以下格式的电子表格:

enter image description here

我正在尝试使用以下代码阅读excel文件:

 string query = "SELECT * FROM [Sheet1$]";
 using (OleDbConnection connection = new OleDbConnection(connString))
  {
    connection.Open();
   OleDbCommand command = new OleDbCommand(query, connection);
   OleDbDataReader reader = command.ExecuteReader();
 while (reader.Read())
     {
       //Do something
     }
}

但它只读取起始2列的数据而不是剩余的数据。如何读取所有列的数据?

2 个答案:

答案 0 :(得分:3)

我尝试使用OleDbDataAdapter来填充DataTable并在DataGridView中显示。 你的sql可以检索所有数据。 但是,您的Excel包含重复的列名称。在通过sql读取后,列名称添加了后缀,例如列 1 。所以也许在你的//做某事陈述中,你可以尝试这样的列名。

my test data my test result

答案 1 :(得分:2)

我之前在Excel中遇到类似的数据连接问题。以下查询应该可以解决这个问题:

string query = "SELECT * FROM [Sheet1$A:E]";

您应该只指定您想要使用的范围。