Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

private void NumbersButton_Click(object sender, EventArgs e)




private void NumbersButton_Click(object sender, EventArgs e)

{

//создаем новый документ на основе шаблона

OpenDocument(" список. docx" );

//заменяем метку < Today> на текущую дату

ReplaceText(" < Today> ", DateTime. Today. ToShortDateString());

//задаем параметры для поиска метки < Table>

Object start = 0;

Object end = wordDoc. Characters. Count;

//диапазон поиска - весь документ

Microsoft. Office. Interop. Word. Range rng = wordDoc. Range(ref start, ref end);

rng. TextRetrievalMode. IncludeHiddenText = false;

rng. TextRetrievalMode. IncludeFieldCodes = false;

string metka = " < Table> ";

//ищем в документе метку < Table>

int beginphrase = rng. Text. IndexOf(metka);

//получаем " координаты" начала и конца метки в документе

start = beginphrase;

end = beginphrase + metka. Length;

//если метка < Table> найдена

if (beginphrase! = -1)

{

   //то удаляем ее

   rng = wordDoc. Range(ref start, ref end);

   rng. Text = " ";

   //и вставляем на ее место таблицу

   Object defaultTableBehavior = Type. Missing;

   Object autoFitBehavior = Type. Missing;

   //создаем объект таблицы (изначально - только шапка)

   Microsoft. Office. Interop. Word. Table tbl = rng. Tables. Add(rng, 1, 3, ref defaultTableBehavior, ref autoFitBehavior);

   //Форматируем таблицу и применяем стиль

   tbl. Range. Font. Size = 14;

   Object style = " Сетка таблицы";

   tbl. set_Style(ref style);

   //шапка таблицы

   tbl. Cell(1, 1). Range. Text = " №пп";

   tbl. Cell(1, 2). Range. Text = " ФИО";

tbl. Cell(1, 3). Range. Text = " Номер телефона";

 

//i - общее количество строк в формируемой таблице

   int i = 0;

   //перебираем всех людей из таблицы БД Contacts

   foreach (DataRow row in dataSet1. Contacts)

   {

       //для каждой записи получаем дочерние строки из

 // таблицы Phones с номерами телефонов

       DataRow[] phones = row. GetChildRows (dataSet1. Relations [" FK_Contacts_Phones" ]);

       //если количество телефонов > 1

       if (phones. Length > 1)

       {

           //то получаем ФИО этого человека

           string FIO = row[" Fam" ]. ToString() + " " + row[" Name" ]. ToString();

           //перебираем все его телефоны

           foreach (DataRow phone in phones)

           {

               i++;

               //добавляем в таблицу документа новую строку

               Object beforeRow = Type. Missing;

               tbl. Rows. Add(ref beforeRow);

               //и заполняем ее столбцы

               tbl. Cell(i + 1, 1). Range. Text = i. ToString();

               tbl. Cell(i + 1, 2). Range. Text = FIO;

               tbl. Cell(i + 1, 3). Range. Text = phone[" Phone" ]. ToString();

           }

       }

   }

   //шапку таблицы выделяем курсивом

   tbl. Rows[1]. Range. Font. Italic = 1;

   //и устанавливаем выравнивание по центру

   tbl. Rows[1]. Range. ParagraphFormat. Alignment = Microsoft. Office. Interop. Word. WdParagraphAlignment. wdAlignParagraphCenter;

}

else

   ReplaceText(" Table", " " );

   //отображаем сформированный документ

   wordApp. Visible = true;

}

 

Пример сформированного программой документа показан на рисунке 3. 6:

 

Рисунок 3. 6 – Пример сформированного документа

 

5 Задание для самостоятельной работы

Добавить в программу предыдущих заданий возможность формирования двух-трех документов на основе имеющихся шаблонов с использованием объектной модели Word. Хотя бы один документ должен содержать таблицу.


ЗАДАНИЕ № 4. Разработка бизнес-приложений с использованием объектной модели Excel

1 Цель задания

Изучить принципы работы объектной модели Excel и ее использования для разработки бизнес-приложений. Получить навыки работы с пространствами имен, классами, методами, используемыми для автоматической генерации и настройки отчетов.

2 Порядок выполнения работы

Получить задание на выполнение задания к контрольной работе (раздел 5). Разработать и отладить доработанное приложение.

 

4 Порядок выполнения работы

Добавим в приложение «Телефонный справочник» возможность экспорта данных в Microsoft Excel (например, список всех телефонов из справочника, сгруппированный по фамилиям).

Чтобы использовать объектную модель Excel, в приложение нужно добавить ссылку на COM-библиотеку Microsoft Word 14. 0 Object Library (рисунок 4. 1).

 

 

Рисунок 4. 1 – Добавление ссылки на объектную модель Excel

 

В качестве шаблона, на основе которого будет формироваться список, будет использоваться файл «spisok. xlsx», внешний вид которого приведен на рисунке 4. 2. Создайте этот файл и поместите его в папку reports в каталоге, где находится. exe-файл приложения.

 

 

Рисунок 4. 2 – Внешний вид файла шаблона

 

Для работы с объектной моделью Excel следует подключить пространство имен Microsoft. Office. Interop. Excel.

Для работы с Excel нам понадобятся объекты, представляющие приложение, окно, рабочую книгу, рабочий лист Excel, а также диапазон ячеек. Объявите их в классе формы следующим образом:

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...