C#从XLS中检索数据

时间:2015-09-01 17:08:31

标签: c# excel

我有一个ParseXLS类(字符串名称,字符串driveLincence,字符串性别)

我的.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();

但我不知道如何获取List或ObservableCollection .. 我找到了许多硬解决方案,很多代码,并且对我来说并不清楚,我希望有人可以帮我解决一个简单的解决方案。

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以将数据加载到DataTable

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
}

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