Средства разработки приложений


Управление книгами и страницами. - часть 2


Для получения ссылки на коллекцию книг необходимо выполнить следующий код (считается, что ссылка на oExcel успешно получена):

object oWorkbooks = oExcel.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, oExcel, null);

Объект oWorkbooks и есть managed-ссылка на коллекцию книг.

Для получения доступа к конкретной книге выполняем следующий код, используя коллекцию книг:

// Доступ к книге по ее порядковому номеру

// Создаем массив параметров
object[] args = new object[1];
// Мы хотим получить доступ к первой книге Excel
args[0] = 1;
// Получаем ссылку на первую книгу в коллекции Excel
object oWorkbook = oWorkbooks.GetType().InvokeMember("Item", BindingFlags.GetProperty, null, oWorkbooks, args);

// Доступ к книге по ее названию
// (обратите внимание, что расширение в
// названии не указывается)
object[] args = new object[1];
// Указываем название книги, к которой мы хотим получить доступ
args[0] = "Книга1";
// Получаем ссылку на первую книгу в коллекции Excel
object oWorkbook = oWorkbooks.GetType().InvokeMember("Item", BindingFlags.GetProperty, null, oWorkbooks, args);

Если книг с указанным названием не существует, то данный код выбрасывает исключение.

Для того, чтобы открыть, закрыть или создать книгу, воспользуемся соответствующими методами коллекции книг oWorkbooks, ссылку на которую мы уже успешно получили.

Для создания новой книги у объекта oWorkbooks есть несколько модификаций метода Add. Если мы вызовем этот метод без параметров, то будет создана новая книга, имеющая имя, принятое по умолчанию, и содержащая количество страниц, также принятое по умолчанию.

//Создаем новую книгу
object oWorkbook = oWorkbooks.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, oWorkbooks, null);

Для создания книги на основе шаблона, достаточно передать полное имя файла, содержащее этот шаблон:

// Заносим в массив параметров имя файла
object[] args = new object[1]; args[0] = "D:\MyApp\Templates\invoice.xls";



Начало  Назад  Вперед



Книжный магазин