[英]How can i select specific columns from excel sheet in c#?
How can I select specific columns from excel sheet rather than all columns 如何从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];
What about: 关于什么:
SELECT * FROM [Sheet1$B14:C20]
This should select cells B14
to C20
. 这应该选择细胞
B14
至C20
。
This will sound trivial but this is what I understand from your question. 这听起来微不足道,但这是我从你的问题中理解的。 Instead of
SELECT *
use SELECT [columnName1],[columnName2] FROM Sheet1.
而不是
SELECT *
使用SELECT [columnName1],[columnName2] FROM Sheet1.
. 。 Here
columnName1
and columnName2
should be the headers of columns that you want to get from Excel Sheet
. 此处
columnName1
和columnName2
应该是您要从Excel Sheet
获取的列的标题。
If you want to select the data before populating here is a good reference on advanced select statements. 如果要在填充之前选择数据,请参阅高级选择语句。 If you want to manipulate your data post populating your DataSet then here's how:
如果你想操作填充数据集的数据,那么这里是如何:
DataTable myTable = dataSet.Tables[0];
var myColumn = myTable.Columns["ColumnName"];
or 要么
var myColumn = myTable.Columns[0];
To access a single field it would look something like this. 要访问单个字段,它看起来像这样。
var field = myTable.Rows[0][myColumn];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.