2012-01-16 16 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);