基本上我需要的是在像IEnumerable<IEnumerable<string>> contents;
这样的结构中复制的excel文件(非空白单元格)的内容第一个IEnumerable将用于行,第二个用于列。
我已经有工作是加载使用文件:如何在c#中使用http://code.google.com/p/linqtoexcel/枚举Excel文件
var excel = new ExcelQueryFactory("file.xls");
在此先感谢球员。
基本上我需要的是在像IEnumerable<IEnumerable<string>> contents;
这样的结构中复制的excel文件(非空白单元格)的内容第一个IEnumerable将用于行,第二个用于列。
我已经有工作是加载使用文件:如何在c#中使用http://code.google.com/p/linqtoexcel/枚举Excel文件
var excel = new ExcelQueryFactory("file.xls");
在此先感谢球员。
答案是:
var excel = new ExcelQueryFactory("file.xls");
var result = excel.WorksheetNoHeader().ToList().Select(x => x.Select(y => y.ToString()).AsEnumerable());
感谢提供帮助。
,你可以尝试这样的事情,你可以编写额外的逻辑您可以在现场数据拉不来=永远的String.Empty您的文件路径位置
您还可以使用LINQ到替换该文件路径Excel开源项目(code.google.com/.../linqtoexcel)可轻松从Excel中获取数据。它负责照顾你的OleDB连接,你可以使用where子句。您所要做的就是创建一个具有与excel列名相对应的属性的类。这里是一个例子:
IExcelRepository<Client> repo = new ExcelRepository<Client>(@"C:\file.xls");
var largeClients = from c in repo.Worksheet
where c.Employees > 200
select c;
foreach (Client client in largeClients)
{
Console.WriteLine(client.ClientName);
}
把数据放入类似数据表的东西,然后从中选择使用作为可感知?
var x = _xlData.Tables[0].Rows
.Cast<DataRow>()
.Where(row => !row.ItemArray.All(field => field is System.DBNull ||
string.Compare((field as string).Trim(),
string.Empty) == 0))
.AsEnumerable();
根据该文件,解决方案应该是微不足道,如下所示:
var excel = new ExcelQueryFactory("file.xls");
var result = excel.Worksheet()
.Select(x => x.Select(y => y.ToString()));
帮助你自己:http://code.google.com/p/linqtoexcel/wiki/UsingLinqToExcel –
感谢你提供了非常有用的建议@DanielHilgarth,但是我已经看过文档,并且没有发现任何线索。这就是为什么我在这里提出这个问题。 – nicoabie