2012-01-16 14 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-To-DataSetでLINQクエリをサポートしていることです。

    +0

    私はこのデータを取得するために、エンティティへのLINQを使用しています:

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

    その後、あなたは簡単にList<ExcelModel>を作成し、そのような合計を取得することができます手間がかかる –

    +0

    次に、LINQ-To-Entitiesを使用してデータを集約する必要があります。 http://msdn.microsoft.com/en-us/library/cc716738.aspx#_LINQ2E –

    2

    「Excelデータ」をモデルで表現できる場合は、モデルを使用するだけです。たとえば、そのように:それゆえのDataTableに入る、

    List<ExcelModel> model = repository.GetAll(); //just an example 
    var total = model.sum(x => x.value1); 
    
    関連する問題