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

本文关键字:选择 excel | 更新日期: 2023-09-27 18:06:16

如何从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];    

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

怎么样:

SELECT * FROM [Sheet1$B14:C20]

这应该选择单元格B14C20

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

如果您想在填充之前选择数据,这里有一个关于高级选择语句的很好的参考。如果你想在填充数据集后操作数据,方法如下:

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

var myColumn = myTable.Columns[0];

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

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