C#-有效地编写Excel文件内容

时间:2018-12-05 17:17:00

标签: c# excel

我正在尝试将数组的内容写入Excel文件-从C1到数组的长度。
关于我发现一次写入多个单元格的主题 this post ,但如您所见 in my previous question 这样的解决方案确实效率很低。我想要一些

Excel.Range range = worksheet.Range["A1", "A" + myArray.Length];
range.Value2 = myArray;

但是,如果执行此操作,应用程序将崩溃。也不例外,它只是一个空白窗口。您是否知道如何将数组内容有效地写入列中?

TIA

1 个答案:

答案 0 :(得分:1)

这是非常优雅和蛮力的,但是如果您想依靠Excel / Interop的话,最好的方法是将对象数组直接粘贴到范围的Value属性中。这是将简单数组粘贴到列中的示例:

// just a sample array
int[] array = new int[11] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

object[,] pasteMe = new object[array.Length, 1];
for (int i = 0; i < array.Length; i++)
    pasteMe[i, 0] = array[i];

worksheet.Range["A1", "A" + array.Length].Value2 = pasteMe;

我认为您所缺少的是您需要2d数组,因为Excel范围具有长度和宽度。

证明有效:

enter image description here