如何从c#中的excel表中选择特定列?

时间:2011-08-22 16:42:41

标签: c# excel

如何从Excel工作表中选择特定列而不是所有列

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];    

3 个答案:

答案 0 :(得分:6)

怎么样:

SELECT * FROM [Sheet1$B14:C20]

这应该选择单元格B14C20

答案 1 :(得分:1)

这听起来微不足道,但这是我从你的问题中理解的。而不是SELECT *使用SELECT [columnName1],[columnName2] FROM Sheet1.。此处columnName1columnName2应为您希望从Excel Sheet获取的列标题。

答案 2 :(得分:0)

如果要在高级选择语句上填充here is a good reference之前选择数据。如果你想操作填充数据集的数据,那么这里是如何:

DataTable myTable = dataSet.Tables[0];

var myColumn = myTable.Columns["ColumnName"];

var myColumn = myTable.Columns[0];

要访问单个字段,它看起来就像这样。

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