gpt4 book ai didi

c# - Visual C# 使用 Excel Interop 一次设置多个单元格

转载 作者:行者123 更新时间:2023-11-30 14:49:30 25 4
gpt4 key购买 nike

我写了一个 C# 应用程序,这是我的第一个应用程序之一(我是这里的菜鸟)!该应用程序使用 Excel Interop 并设置大量单元格,这需要很长时间。之后我听说可以在一次调用中设置一系列单元格。这就是我正在尝试做的事情,尽管有几个关于这个主题的话题,但没有一个对我有用,或者我不明白。

当你google的时候,大多数人会推荐这个方法:

Excel.Range rng = (Excel.Range)xlWorkSheet.get_Range(xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[3, 3]);
rng.Value = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

或者至少使用 get_Range。但我的问题是,我无法在工作表、我的工作簿或初始化的 excel 应用程序上执行 get_Range。方法不存在,感觉网上找的都过时了!!!

我真的希望有人能帮助我解决这个问题 :) 我想设置一行,或者如果它不是太复杂的话一次整张纸。

最佳答案

至少从 Excel 对象库的 15.0 版开始,get_Range() 方法已被删除并替换为 Range 属性。此属性可用于执行与以前由 get_Range() 提供的功能相同的功能。

另请注意,将值设置为一维数组将导致如下输出,这可能不是您想要的:

Bad output

以下代码解决了这两个问题:

var rng = (Excel.Range)xlWorkSheet.Range[xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[3, 3]];
rng.Value = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

这导致输出如下:

Good output

关于c# - Visual C# 使用 Excel Interop 一次设置多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38542748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com