LinqToExcel:如何在Excel中获取特定行

时间:2016-04-12 12:23:09

标签: excel linq

我有一个看起来像

的excel
ID   Name   DepartmentID Ext
1298 Alice  AA1152       1221
1299 Andrew AA1152       1235
2894 Jack   AA1152       1285
2723 Daniel AA1152       4239

所有员工都在同一个部门,我想从excel获取DepartmentID,链接到数据库中的部门名称。

我已阅读本教程http://www.codeproject.com/Articles/659643/Csharp-Query-Excel-and-CSV-Files-Using-LinqToExcel但它必须读取整个文件并在foreach循环中按顺序访问。

如何使用LinqToExcel库从excel中只获取一行?

非常感谢。

2 个答案:

答案 0 :(得分:1)

您应该能够使用First()仅返回第一个结果:

var artistAlbums = from a in excelFile.Worksheet(sheetName) select a;
var firstAlbum = artistAlbums.First();

要获取一个特定行,请合并Skip()First(),例如:

var fifthAlbum = artistAlbums.Skip(4).First();

答案 1 :(得分:0)

尝试这样的事情

var excelData = new ExcelQueryFactory(excelFileName);
var yourRow = from c in excelData.Worksheet<YourMappedClass>(WorksheetName) where c.Id==SomeValue select c;

您可以完成其他一些事情,并在github页面中进行解释。