Как установить набор объектов в строку, по одному объекту на ячейку?

Как с помощью EPPlus, учитывая набор объектов, установить объекты в строке, по одному объекту на ячейку?

То есть учитывая:

int rowNumber = ...
int columnNumber = ...
IEnumerable<object> values = ...

Как установить значения в строке rowNumber, начиная со столбца columnNumber, по одному значению на ячейку?


person beluchin    schedule 14.01.2014    source источник


Ответы (1)


Используйте метод LoadFromArrays для диапазона. Первая ячейка, в которой должны быть установлены значения массивов в строке, используется для создания диапазона.

Аргумент, переданный в LoadFromArrays, представляет собой IEnumerable массивов объектов, поэтому values для установки в строке следует сначала преобразовать в object[], а затем обернуть как IEnumerable.

int rowNumber = ...
int columnNumber = ...
IEnumerable<object> values = ...

var range = ws.Cells[rowNumber, columnNumber];
range.LoadFromArrays(AsEnumerable(values.ToArray())); 

/* ... */

// see http://stackoverflow.com/q/1577822/614800 for a discussion on how
// to wrap an object into an IEnumerable
private static IEnumerable<T> AsEnumerable<T>(T obj)
{
    yield return obj;
}
person beluchin    schedule 14.01.2014