用c#写入excel中的单元格

我创build了一个包含ThisWorkbook类的Visual Studio Excel工作簿项目,然后包含了一个函数类,以便我可以创build自己的Excel函数。 我正在尝试通过使用函数使用c#向单元格写入值。 我可以通过函数类写入excel单元格,但只能创build一个新的应用程序/工作簿。 所以每次使用这个excel函数,它都会打开excel的新实例。 有没有办法可以写入当前已打开的Excel工作簿中的单元格?

您可能创build一个新的Excel应用程序,而不是连接到活动的Excel应用程序。

使用GetActiveObject获取对Excel应用程序对象的引用。

看,我尝试了这个代码的作品:

private void ThisWorkbook_Startup(object sender, System.EventArgs e) { Excel.Worksheet ws = (Excel.Worksheet)(sender as Workbook).ActiveSheet; System.Random rnd = new System.Random(); for (int i = 1; i <= 20; i++) ws.Cells[i, 2] = rnd.Next(100); } 

所以你看到你可以访问Worksheet并使用ws.Cells来操作单元格的值。

这里有很多例子:

从.NET开发人员的angular度了解Excel对象模型