我正在将两个 excel 工作表(使用Linq-To-Excel
)的输入读入两个列表。其中一个工作表包含不需要的数据列(列名已知)。然而,两个工作表中的其他列包含完全相同类型的数据。
我的问题的第一部分是:
我怎样才能在 select 语句中只排除那些不受欢迎的数据列(而不必为其他 25 个左右的列编写 select.column 名称?我打算这样做是为了以下目的:
- 制作相同类型的两个列表
- 合并两个列表
可能将此代码块移动到调用过程,因为最终我将不得不从更多工作表中读取
ExcelQueryFactory excel = new ExcelQueryFactory(FilePath); List<STC> stResults = (from s in excel.Worksheet<STC>("StaticResults") select s) .ToList(); List<DYN> dynResults = (from s in excel.Worksheet<DYN>("DynamicResults") select s) //how can I EXCLUDE just one of the columns here?? .ToList();
我是 C# 和 linq 的新手。所以请原谅我的无知:-)
我的问题的第二部分是:
我提取的上述数据有点偏胖(从 100,000 到 300,000 行不等)。我必须继续使用 for 循环对上面的列表(在 1000 到 4000 次范围内)进行重复的 linq 查询。有没有更好的方法来实现这一点,因为它会对性能产生巨大影响。
EDIT_1:
关于输入文件:
- StaticResults 文件有 28 列(STC 类有 28 个属性)
- DynamicResults 文件有 29 列(28 列具有与静态相同的属性/列名称加上一个额外的属性,这不是必需的)(DYN 是 STC 的派生类)