amer
amer

Reputation: 51

How can i select specific columns from excel sheet in c#?

How can I select specific columns from excel sheet rather than all columns

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

Upvotes: 5

Views: 22252

Answers (3)

emre nevayeshirazi
emre nevayeshirazi

Reputation: 19241

This will sound trivial but this is what I understand from your question. Instead of SELECT * use SELECT [columnName1],[columnName2] FROM Sheet1.. Here columnName1 and columnName2 should be the headers of columns that you want to get from Excel Sheet.

Upvotes: 1

jsmith
jsmith

Reputation: 7278

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

Upvotes: 0

Kev
Kev

Reputation: 119806

What about:

SELECT * FROM [Sheet1$B14:C20]

This should select cells B14 to C20.

Upvotes: 7

Related Questions