使用C#读取Excel列

时间:2015-04-21 07:42:56

标签: c# asp.net excel-automation

我正在使用内联查询将包含标题的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语句中使用它。

有人可以建议如何实现这种方法吗?

1 个答案:

答案 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;