如何设置对象的集合到每个单元的行,一个对象? [英] How to set a collection of objects onto a row, one object per cell?

查看:184
本文介绍了如何设置对象的集合到每个单元的行,一个对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

,随着EPPlus给对象的集合,我怎么设置一排的对象,每单元一个对象



也就是说,给定:

  INT ROWNUMBER = ... 
INT columnNumber = ...
IEnumerable的<对象>值= ...



如何设置该行的值 ROWNUMBER ,开始在列 columnNumber ,每个细胞?


解决方案<一个值/ DIV>

在一个范围内使用 LoadFromArrays 方法。其中阵列的值应在该行上设置的第一单元被用来创建的范围内。



传递到 LoadFromArrays 的IEnumerable ,所以来该行设定应该是先转换为一个 [对象] ,然后包装成一个的IEnumerable

  INT ROWNUMBER = ... 
INT columnNumber = ...
IEnumerable的<对象>值= ...

变种范围= ws.Cells [ROWNUMBER,columnNumber]
range.LoadFromArrays(AsEnumerable(values​​.ToArray()));

/ * ... * /

//看到http://stackoverflow.com/q/1577822/614800有关如何
讨论//包装对象到一个IEnumerable
私有静态的IEnumerable< T> AsEnumerable< T>(T OBJ)
{
收益回报的obj;
}


With EPPlus, given a collection of objects, how do I set the objects on a row, one object per cell?

That is, given:

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

How to set the values on the row rowNumber, starting on the column columnNumber, one value per cell?

解决方案

Use the LoadFromArrays method on a range. The first cell where the arrays values should be set on the row is used to create the range.

The argument passed to LoadFromArrays is an IEnumerable of object arrays, so the values to set on the row should be first converted to an object[] and then wrapped as an 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;
}

这篇关于如何设置对象的集合到每个单元的行,一个对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆