简体   繁体   English

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

[英]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 . 这应该选择细胞B14C20

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 . 此处columnName1columnName2应该是您要从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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM