Принятый сборник для работы с данными Excel - PullRequest
3 голосов
/ 16 января 2012

У меня есть куча данных, которые я загружаю в свое приложение, и, честно говоря, лучше всего представить их в виде таблицы Excel. Под этим я подразумеваю:

  • Есть много столбцов, которые нужно «суммировать»
  • Существует достаточное количество данных (в основном, лист чисел)

На данный момент это просто необработанные данные в базе данных, но у меня также есть электронная таблица, которая показывает эти данные (вместе с формулами, которые мне нужно воспроизвести в моем приложении).

В данный момент я только что получил List<of T> каждой строки, однако я считаю, что может быть лучшая коллекция для хранения данных этого типа. Мне нужно уметь легко манипулировать этими числами.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Если ваши "данные 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);
2 голосов
/ 16 января 2012

Один из вариантов - использовать DataTable , который также имеет встроенный метод агрегации .

Например (из 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...