我已经为此苦苦挣扎了几天,我很困惑。我希望有人可以提供替代建议。基本上,我正在使用 LinqToExcel 从 excel 中读取数据。但我想排除所有“评级”为“NR”的行。这是我的数据示例:
CompanyName Rating SalesMan
Apple 2 Steve
Google NR Steve
Microsoft 3 John
Dell 1 Steve
Pepsi 3 John
我只想找到属于史蒂夫但没有评级为“NR”的所有公司。我的最终清单应该是:
CompanyName SalesMan
Apple Steve
Dell Steve
我已经尝试了以下代码,但它不起作用:
1)
var masterList = masterDataXL.Worksheet("data_all").Where(d => !d["Rating"].Equals("NR"));
2)
var masterList = masterDataXL.Worksheet("data_all")
.Where(m =>
!m["Rating"].Equals("NR")
&&
m["SalesMan"].ToString().Contains(resAnLastName)) // check for last name
.Select(m => new ResAnTicksDataClass
{
Company = m["CompanyName"],
Rating = m["Rating"],
Seller = m["SalesMan"]
}).AsEnumerable();
3) 为 Rating 创建了一个属性并执行了以下操作:
var masterList = masterDataXL.Worksheet("data_all")
.Where(m =>
m["Analyst"].ToString().Contains(resAnLastName)) // check for last name
.Select(m => new ResAnTicksDataClass
{
Company = m["CompanyName"],
Rating = m["Rating"],
Seller = m["SalesMan"]
}).AsEnumerable();
var dataList = (from m in masterList
where m.Rating != "NR"
select new ResAnTicksDataClass
{
ResAnName = m.ResAnName,
DescrTick = m.DescrTick
}).AsEnumerable();
我对您可能提出的任何其他建议持开放态度,因为我完全被难住了。非常感谢你。