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

我写了一个ac#app,这是我的第一个(我在这里是noob)! 该应用程序使用Excel Interop并设置了很多需要很长时间的单元。 之后,我听说可以在一个电话中设置一个范围的单元格。 这就是我想要做的,虽然有关于这个主题的几个线程,但他们都没有为我工作,或者我没有得到它。

当你谷歌,大多数人会build议这种方法:

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 }; 

或者至less有一些与get_Range 。 但我的问题是,我不能执行get_Range,既不在工作表上,也不在我的工作簿或初始化的Excel应用程序。 该方法不存在,我觉得我在互联网上find的都是过时的!

我真的希望有人可以帮助我通过这个:)我想设置一排或如果它不是一次太复杂的整个表。

至less从Excel对象库的15.0版本开始, get_Range()方法已被删除,并replace为Range属性。 这个属性可以用来执行和以前由get_Range()提供的相同的function。

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

输出不好

以下代码修复了这两个问题:

 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 } }; 

这导致输出如下:

良好的输出