我怎样才能从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单元格B14
到C20
。
这听起来微不足道,但这是我从你的问题中了解到的。 而不是SELECT *
使用SELECT [columnName1],[columnName2] FROM Sheet1.
。 这里columnName1
和columnName2
应该是你想要从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];