C#从XLS中检索数据

C#从XLS中检索数据,c#,excel,C#,Excel,我有一个ParseXLS类(字符串名称、字符串驱动程序名称、字符串性别) 我的.xls看起来像: 姓名|驾驶执照|性别 A-Y-M B-N-F 我想读一本大的.xls,把所有这些数据放在我的课堂上。 要阅读我使用的.xls,请执行以下操作: OleDbDataReader reader; OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsFilePath

我有一个ParseXLS类(字符串名称、字符串驱动程序名称、字符串性别)

我的.xls看起来像:

姓名|驾驶执照|性别

A-Y-M

B-N-F

我想读一本大的.xls,把所有这些数据放在我的课堂上。 要阅读我使用的.xls,请执行以下操作:

OleDbDataReader reader;
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
xlsFilePath + ";Extended Properties=Excel 8.0");
OleDbCommand command = new OleDbCommand("select * from [sheet1$]", con);
con.Open();
但我不知道如何获取列表或可观察到的集合。。 我发现了很多困难的解决方案,很多代码,对我来说并不清楚,我希望有人能帮我找到一个简单的解决方案


提前感谢

您可以将数据加载到
数据表中

var results = new DataTable();
using(var con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
    + xlsFilePath + ";Extended Properties=Excel 8.0"))
{
    var command = new OleDbCommand("select * from [sheet1$]", con);
    con.Open();

    var adapter = new OleDbDataAdapter(command);

    adapter.Fill(results);
}
然后,循环分析结果并使用数据,但您需要:

foreach(DataRow row in results)
{
    var name = row["name"].ToString();
    var driversLicense = row["Drive Licence"].ToString();
    var sex = row["Sex"].ToString();

    //Do what you need
}

另一种方法是使用第三方库,如。

问题详细信息建议使用xls