首页 > 解决方案 > 根据列名提取excel表格单元格值

问题描述

我有以下内容 - 我有一个包含列和数据的 Excel 表。表头结构(包含列名)并不完全简单(列名不在一行中 - 请查看屏幕截图),这似乎造成了问题。基本上,当项目、国家、货币作为列名位于表的第一行时,事情会按预期工作。 在此处输入图像描述

所以我想做的是以下 - 我有一个特定的项目名称值,我想提取项目列下的所有表行(屏幕截图中的第 3 行)具有这个特定值。我现在的代码是这样的(它在表格标题只是一行时运行,与屏幕截图不同): DataTable assetLines = _template.AsEnumerable().Where(x => x.Field<string>("Column1") == "XX").CopyToDataTable(); 在这里,Column1 只是一个占位符,我首先尝试使用“Item”,但后来发现使用此表格式列名称为:“reportedLine/id/”、“Column1”(用于国家/地区)、“Column2”(用于货币)...等等。所以我也尝试在上面的代码行中使用“reportedLine/id” (因为这将是等价的)“Item”,但assetLines 仍然是空的。实际的表有正确格式的数据(你可以忽略“XX” 在代码中)。我在这里错过了什么?谢谢你。

标签: c#excel

解决方案


推荐阅读