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

//занести текущую дату в ячейку D1




//занести текущую дату в ячейку D1

PutCell(" D1", DateTime. Now. ToShortDateString());

           

int i = 6;

//просмотреть все строки таблицы Contacts

foreach (DataRow row in dataSet1. Contacts)

{

   //занести в столбец А название группы - фамилию

   PutCell(" A" + i. ToString(), row[" Fam" ]. ToString());

   //выделить ячейки с А по D

   range = WorkSheet. get_Range(" A" + i. ToString(), " D" + i. ToString());

   //и объединить их

   range. Merge(Type. Missing);

   //установить жирный шрифт

   range. Font. Bold = true;

   //и курсив

   range. Font. Italic = true;

   //задать цвет заливки

   range. Interior. ColorIndex = 34;

   //нарисовать границу вокруг ячейки

   range. BorderAround (Microsoft. Office. Interop. Excel. XlLineStyle. xlContinuous, Microsoft. Office. Interop. Excel. XlBorderWeight. xlThin, Microsoft. Office. Interop. Excel. XlColorIndex. xlColorIndexAutomatic, Type. Missing);

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

    range. HorizontalAlignment = Microsoft. Office. Interop. Excel. XlHAlign. xlHAlignCenter;                

   //получить список телефонов по заданной фамилии

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

   i++;

   //num - порядковый номер телефона заданного абонента

   int num = 0;

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

   foreach (DataRow phone in phones)

   {

       num++;

       //занести в столбец А порядковый номер записи

       PutCellBorder(" A" + i. ToString(), num. ToString());

       //занести в столбец B фамилию абонента

       PutCellBorder(" B" + i. ToString(), row[" Fam" ]. ToString());

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

       PutCellBorder(" C" + i. ToString(), row[" Name" ]. ToString());

       //занести в столбец D номер телефона

       PutCellBorder(" D" + i. ToString(), phone[" Phone" ]. ToString());

       i++;

   }

   //вывести количество записей в текущей группе

   PutCell(" A" + i. ToString(), " Итого: " + num. ToString());

   //и отформатировать соответствующую ячейку

   range = WorkSheet. get_Range(" A" + i. ToString(), " D" + i. ToString());

   range. Merge(Type. Missing);

   range. Font. Italic = true;

   range. Interior. ColorIndex = 40;

   range. BorderAround (Microsoft. Office. Interop. Excel. XlLineStyle. xlContinuous, Microsoft. Office. Interop. Excel. XlBorderWeight. xlThin, Microsoft. Office. Interop. Excel. XlColorIndex. xlColorIndexAutomatic, Type. Missing);

   i++;

}

//сделать приложение Excel видимым

ExcelApp. Visible = true;

}

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

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


ЗАДАНИЕ № 5. Создание отчета в формате HTML

 

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

Изучить основные принципы создания отчетов в формате HTML и вывода данных на Web-страницы.

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

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

 

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

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

Для вывода окна диалога с возможностью выбора места сохранения html-страницы и введения имени файла следует добавить на форму компонент SaveFileDialog. В свойcтве Filter объкта saveFileDialog1 нужно записать:

HTML-страницы|*. html

Для корректного сохранения данных также необходимо подключить пространство имен System. IO:

using System. IO;

Добавьте на форму кнопку «HTML-отчет» и в обработчик ее события Click добавьте следующий код:

private void button1_Click(object sender, EventArgs e)

{

//Показываем диалог сохранения файла, и проверяем, была ли

//нажата кнопка «Сохранить», если да,

//то выполняем остальные действия

if (saveFileDialog1. ShowDialog() == DialogResult. OK)

{

   //Сохраняем введенное имя файла в переменную

   string fn = saveFileDialog1. FileName;

               

   //Создаем файл для записи текстовой информации

   //с кодировкой 1251(Русскоязычная кодировка Windows)

   StreamWriter sw = new StreamWriter(fn, false, System. Text. Encoding. Default);

 

   // Записываем в файл заголовок HTML страницы

   sw. WriteLine(" < html> " );

   sw. WriteLine(" < head> " );

   sw. WriteLine(" < title> Номера телефонов< /title> " );

   sw. WriteLine(" < /head> " );

   sw. WriteLine(" < body> " );

               

   //Записываем в файл название отчета и заголовки таблицы

   sw. WriteLine(" < h1> Телефонная книжка< /h1> " );

   sw. WriteLine(" < table border=1> " );

   sw. WriteLine(" < tr> " );

   sw. WriteLine(" < td> < h3> Код< /h3> < /td> " );

   sw. WriteLine(" < td> < h3> Фамилия< /h3> < /td> " );

   sw. WriteLine(" < td> < h3> Имя< /h3> < /td> " );

   sw. WriteLine(" < td> < h3> № телефона< /h3> < /td> " );

   sw. WriteLine(" < /tr> " );

               

Поделиться:





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



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