2015-04-21 1 views
1

Я использую встроенный запрос для загрузки данных excel, включая заголовок, в datatable.Чтение столбца Excel с использованием C#

 string Query; 

     Query = string.Format("Select [Col1],[Col2],[Col3] FROM [{0}]", "Sheet1$"); 
     OleDbCommand Ecom = new OleDbCommand(Query, oleDbConn); 
     oleDbConn.Open(); 

     DataSet ds = new DataSet(); 

     OleDbDataAdapter oda = new OleDbDataAdapter(Query, oleDbConn); 

     oleDbConn.Close(); 
     oda.Fill(ds); 
     DataTable Exceldt = ds.Tables[0]; 

Теперь вместо того, чтобы использовать эту жёстко прописанные линии:

 Query = string.Format("Select [Col1],[Col2],[Col3] FROM [{0}]", "Sheet1$"); 

Я хочу сделать класс столбцов заголовков, а затем использовать его в операторе SQL.

Может кто-нибудь предложить, как достичь такого подхода?

ответ

2

Вы можете использовать LinqToExcel. https://code.google.com/p/linqtoexcel/

Затем вы можете запросить Linq и напечатать столбцы.

Как так:

var excel = new ExcelQueryFactory("excelFileName"); 
var ds = from c in excel.Worksheet<Sheet>() 
         select c;