Система Orphus
Версия для печати

Взаимодействие Microsoft Excel с приложениями .NET - позднее связывание

Автор: Гасанов Ровшан Закариевич
Источник: RSDN Magazine #2-2005
Опубликовано: 11.07.2005
Исправлено: 12.07.2005
Версия текста: 1.0
1. Вступление.
2. Запуск и завершение работы Excel.
3. Управление книгами и страницами.
4. Работа со страницами. Объект Range. Использование записи макросов для автоматизации Excel.
5. Перехват событий Excel
6. Заключение.

1. Вступление.

Многим разработчикам рано или поздно приходится сталкиваться с задачами, которые подразумевают использование Microsoft Excel (далее по тексту просто Excel). В этих случаях можно применить утилиту tlbimp.exe, импортировать библиотеку типов, добавить ссылку на нее, и вам станет доступно пространство имен Excel, со всеми классами-обертками, вокруг "внутренностей" Excel. Или еще проще, можно просто добавить ссылку на COM-объекты Excel в Visual Studio, и она сделает все сама. Все это хорошо, конечно. И просто. Но иногда возникают ситуации, когда описанное вкратце "раннее связывание" неприемлемо. Например, ваше приложение будет выложено на сайт, следовательно, нужно уменьшить его размер. Раннее связывание порождает две сопутствующие сборки – Microsoft.Office.Interop.Excel.dll и Microsoft.Vbe.Interop.dll, которые содержат классы-обертки. Суммарный размер этих сборок превышает мегабайт, и, несмотря на то, что сборки .NET хорошо сжимаются архиваторами, «тащить» за собой все классы-обертки Excel ради использования двух-трех методов явно нецелесообразно.

И тогда на помощь приходит т.н. "позднее связывание", когда не нужно никаких сопутствующих сборок.

Описывать позднее связывание в этой статье нет смысла, в литературе, как и в Интернете, достаточно материала по этой теме. Все примеры выполнены на C#, но, надеюсь, программисты, использующие в своей работе другие .NET-языки, смогут разобраться в коде без особого труда.

2. Запуск и завершение работы Excel.

3. Управление книгами и страницами.

4. Работа со страницами. Объект Range. Использование записи макросов для автоматизации Excel.

5. Перехват событий Excel

6. Заключение.


Полная версия этой статьи опубликована в журнале RSDN Magazine #2-2005. Информацию о журнале можно найти здесь