//занести текущую дату в ячейку 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|