我有一个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 .. 我找到了许多硬解决方案,很多代码,并且对我来说并不清楚,我希望有人可以帮我解决一个简单的解决方案。
提前致谢
答案 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。