jth*_*h41 6 c# excel vlookup data-structures
我目前的项目基本上是将Excel电子表格转换为Windows应用程序.我使用表和vlookups遇到了工作表的一部分.假设该表看起来像这样(完全相同,每个季度都添加一个额外的行):
我想模仿C#中的vlookups,我可以想到几种不同的方式,但我正在寻找"最好"的方式.通过"最好",我的意思是最容易编码和最易维护,我不是指速度,如果它在10秒内工作就足够了.这发生在一个方法中,该方法具有区域名称和Yr/Qrt作为字符串传入.使用这些,我应该使用什么数据结构来存储表数据,如何以最少的代码执行?
编辑
我现在收到了我将从中提取此数据的实际excel文件.关于如何仅使用C#获取"yearQtr"字段和HRTC字段的任何建议将不胜感激
编辑
刚发现他们运行这个应用程序的机器不会有excel.所以上面显示的文件在读入应用程序之前必须更改为另一种格式(这将通过手动将文件从excel保存为csv或xml或任何格式来处理.所以我想我的问题是如何获取csv或xml中的上述数据
我目前正在使用这个架构解决方案来满足我的数据需求。我每次需要时都会创建一个新表(就像我在问题中所说,速度并不重要)。该表仅适用于每个表的特定区域。如您所知,我还没有弄清楚 Excel 数据提取部分。
class Table
{
Dictionary<String, double> _regionTimeValues;
String _region;
public Table(String region)
{
_regionTimeValues = new Dictionary<string, double>();
_region = region;
suckInValues();
}
private void suckInValues()
{
//Go find the File, get the appropriate Values
//for each value found
}
internal double locateRelevantValue(string yearQuarter)
{
double locatedValue = 0.0;
_regionTimeValues.TryGetValue(yearQuarter,out locatedValue);
return locatedValue;
}
}
Run Code Online (Sandbox Code Playgroud)