Как я могу выбрать определенные столбцы из листа Excel в C #? - PullRequest
4 голосов
/ 22 августа 2011

Как выбрать отдельные столбцы из таблицы 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 ]

6 голосов
/ 22 августа 2011

А как же:

SELECT * FROM [Sheet1$B14:C20]

Это должно выбрать ячейки B14 до C20.

1 голос
/ 22 августа 2011

Это будет звучать тривиально, но это то, что я понимаю из вашего вопроса. Вместо SELECT * используйте SELECT [columnName1],[columnName2] FROM Sheet1.. Здесь columnName1 и columnName2 должны быть заголовками столбцов, которые вы хотите получить от Excel Sheet.

0 голосов
/ 22 августа 2011

Если вы хотите выбрать данные перед заполнением , вот хороший справочник для расширенных операторов выбора. Если вы хотите манипулировать вашей записью данных, заполняющей ваш DataSet, то вот как:

DataTable myTable = dataSet.Tables[0];

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

или

var myColumn = myTable.Columns[0];

Чтобы получить доступ к одному полю, оно будет выглядеть примерно так.

var field = myTable.Rows[0][myColumn];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...