2012-01-16 15 views
3

我有一堆数据,我拉进我的应用程序,坦率地说,它最好代表一个Excel电子表格。我的意思是:Excel数据使用接受的集合

  • 有很多这就需要“总结”列
  • 有数据的合理数量(数字基本上片)

目前,此只是数据库中的原始数据,但我也有一个电子表格来显示这些数据(以及需要在我的应用程序中复制的公式)。

目前,我刚刚得到了每行的List<of T>,但是我相信可能有更好的集合来存储这种类型的数据。我基本上需要能够轻松操纵这些数字。

有什么建议吗?

回答

2

一种选择是使用DataTable,它也有一个builtin aggregation method

例如(来自MSDN):

// Presumes a DataTable named "Orders" that has a column named "Total." 
DataTable table; 
table = dataSet.Tables["Orders"]; 

// Declare an object variable. 
object sumObject; 
sumObject = table.Compute("Sum(Total)", "EmpID = 5"); 

另一个优点是它支持LINQ查询与LINQ-To-DataSet

+0

我使用LINQ到实体来获取这些数据,从而进入一个DataTable可能很麻烦 – 2012-01-16 15:58:32

+0

然后你应该使用LINQ-To-Entities来聚合你的数据。 http://msdn.microsoft.com/en-us/library/cc716738.aspx#_LINQ2E – 2012-01-16 16:03:28

2

如果你的“excel数据”可以在模型中表示,我只是使用模型。例如像这样:

public class ExcelModel() 
{ 
    public string Id { get; set; } 
    public double value1 { get; set; } 
    public int value1 { get; set; } 
} 

然后你就可以很容易地创建一个List<ExcelModel>,并获得总像这样:

List<ExcelModel> model = repository.GetAll(); //just an example 
var total = model.sum(x => x.value1);