Write to cell in excel using c#

て烟熏妆下的殇ゞ 提交于 2019-12-08 01:22:42

问题


I created a visual studio excel workbook project which contains ThisWorkbook class and I then included a functions class so that I can create my own excel function. I am trying to write a value to a cell using c# through the use of the function. I can write to the excel cell through the function class but only by creating a new application/workbook. So everytime I use this excel function, it will open new instance of excel. Is there a way I can write to a cell in the current excel workbook that is already opened?


回答1:


You probably create a new Excel application, instead of connecting to the active Excel application.

Use the GetActiveObject to get your reference to the Excel application object.




回答2:


Look, I tried and this code works:

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

so as you see you can access the Worksheet and use ws.Cells to manipulate cell values.

there are plenty of examples here:

Understanding the Excel Object Model from a .NET Developer's Perspective



来源:https://stackoverflow.com/questions/7905217/write-to-cell-in-excel-using-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!