我正在使用内联查询将包含标题的Excel数据加载到数据表中。
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语句中使用它。
有人可以建议如何实现这种方法吗?
答案 0 :(得分:2)
您可以使用LinqToExcel。 https://code.google.com/p/linqtoexcel/
然后,您可以使用Linq进行查询并键入列。
像这样:
var excel = new ExcelQueryFactory("excelFileName");
var ds = from c in excel.Worksheet<Sheet>()
select c;