Пишите в ячейку в Excel, используя C # - PullRequest
2 голосов
/ 26 октября 2011

Я создал проект книги Visual Studio Excel, который содержит класс ThisWorkbook, и затем я включил класс функций, чтобы я мог создать свою собственную функцию Excel.Я пытаюсь записать значение в ячейку с помощью C # с помощью функции.Я могу писать в ячейку Excel через класс функций, но только создав новое приложение / рабочую книгу.Поэтому каждый раз, когда я использую эту функцию Excel, она открывает новый экземпляр Excel.Есть ли способ, которым я могу написать в ячейку в текущей рабочей книге Excel, которая уже открыта?

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

Смотри, я пробовал, и этот код работает:

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

так что, как вы видите, вы можете получить доступ к рабочему листу и использовать ws.Cells для управления значениями ячеек.

здесь есть множество примеров:

Понимание объектной модели Excel с точки зрения разработчика .NET

1 голос
/ 26 октября 2011

Вы, вероятно, создаете новое приложение Excel вместо подключения к активному приложению Excel.

Используйте GetActiveObject , чтобы получить ссылку на объект приложения Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...