使用EPPlus,给定一组对象,如何在一行上设置对象,每个单元一个对象?
即,给定:
int rowNumber = ...
int columnNumber = ...
IEnumerable<object> values = ...
如何设置行rowNumber
上的值,从列columnNumber
开始,每个单元格一个值?
答案 0 :(得分:2)
在范围内使用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;
}