2011-08-22 49 views
4

如何選擇從Excel工作表中特定的列,而不是所有列如何從c#中的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];  

回答

6

什麼:

SELECT * FROM [Sheet1$B14:C20] 

這應該選擇單元格B14C20

0

如果您想在高級選擇語句中填充here is a good reference之前選擇數據。如果你想操縱你的數據後填充DataSet中,然後在這裏是如何:

DataTable myTable = dataSet.Tables[0]; 

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

var myColumn = myTable.Columns[0]; 

要訪問單場會是這個樣子。

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

我需要指定填充數據集之前的列 – amer

+0

@amer我只有在知道列標題時才通過Jet引擎完成此操作。我提供了一個我希望能夠提供幫助的鏈接。 – jsmith

1

這聽起來微不足道,但這是我從你的問題中瞭解到的。而不是SELECT *使用SELECT [columnName1],[columnName2] FROM Sheet1.。這裏columnName1columnName2應該是你想從Excel Sheet得到的列標題。

相關問題