在C#中,使用Microsoft.Office.Interop.Excel
,您可以像这样一次为整行分配值:
string[] headings = { "Value1", "Value2", "Value3" };
excelSheet.get_Range("A1:C1", Type.Missing).Value2 = headings;
EPPlus库中是否提供了类似的功能?
答案 0 :(得分:6)
您可以使用.LoadFromCollection
方法。
所以,例如:
var vals = new string[] { "value1", "value2", "value3" };
var rng = sheet.Cells["A1:A3"];
rng.LoadFromCollection(vals);
将产生此输出:
答案 1 :(得分:0)
有些笨拙,但这是一个示例。
// A row of numbers
var numbers = new List<object> {1.1, 2.2, 3.3};
var horizontalRange = sheet.Cells[$"A1:A{numbers.Count}"];
horizontalRange.LoadFromArrays(new List<object[]> {numbers.ToArray()});
// a grid
var colours = new object[] { "red", "green", "blue"};
var range2d = sheet.Cells["A3:C4"];
range2d.LoadFromArrays(new List<object[]> { numbers.ToArray(), colours });