我怎样才能从Excel中的Excel表中select特定的列?

我如何从excel表格中select特定的列而不是所有的列

string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", txtPath.Text); string query = String.Format("select * from [{0}$]", "Sheet1"); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); dataGridView1.DataSource = dataSet.Tables[0]; 

关于什么:

 SELECT * FROM [Sheet1$B14:C20] 

这应该select单元格B14C20

这听起来微不足道,但这是我从你的问题中了解到的。 而不是SELECT *使用SELECT [columnName1],[columnName2] FROM Sheet1. 。 这里columnName1columnName2应该是你想要从Excel Sheet获得的列的标题。

如果您想在填充之前select数据,那么这是高级select语句的一个很好的参考 。 如果你想操纵你的数据填充你的数据集然后这里是如何:

 DataTable myTable = dataSet.Tables[0]; var myColumn = myTable.Columns["ColumnName"]; 

要么

 var myColumn = myTable.Columns[0]; 

要访问一个单一的领域,它会看起来像这样。

 var field = myTable.Rows[0][myColumn];