Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6_Excel+Delphi.doc
Скачиваний:
0
Добавлен:
06.09.2019
Размер:
94.72 Кб
Скачать

Лекція № 28 (2 години)

Тема «Експорт даних в табличний процесор Excel»

Мета: знати як здійснювати експортування даних з БД, яка створена в СКБД Access, в табличний процесор Excel.

Література

  1. «Работа с базами данных в Delphi» - Гофман В. Э., Санкт-Петербург: БХВ, 2001

  2. «Программирование баз данных в Delphi 7. Учебный курс», В. В. Фаронов

  3. «Delphi 5 руководство разработчика баз данных» - Шумаков, В. В. Фаронов

  4. «Delphi 2005 Разработка приложений для баз данных и Интернета» - В. В. Фаронов, Питер, 2006 р.

Хід заняття

І. Організаційний момент

а) готовність групи до заняття;

б) перевірка присутніх.

ІІ. Актуалізація опорних знань студентів

а) повідомлення теми та мети заняття;

б) повідомлення девізу, під яким будете працювати;

в) відповіді на запитання раніше вивченних лекцій.

ІІІ. Виклад нового матеріалу

План

  1. Модуль ComObj.

  2. Експорт даних в табличний процесор Excel.

ІV. Узагальнення та систематизація знань

V. Підведення підсумків заняття

VІ. Домашнє завдання: вивчити матеріал лекції, знати відповіді на такі питання лекції:

  1. Для чого потрібно підключати в розділ uses модуль ComObj?

  2. Які дані може зберігати тип даних Variant?

  3. Яка функція дозволяє налагодити зв'язок з іншим додатком за технологією COM?

  4. Що означає число в дужках при створенні звітності в Excel -XLApp.Workbooks.Add(-4167)?

  5. Завдяки якого методу компонента AdoTable можна перейти на перший рядок таблиці?

Головною властивістю баз даних є зберігання даних. Але яка ж база даних без звітності? Практично завжди виникає потреба у вивантаженні даних в інші програми. Немає сенсу вести дані, які не можна роздрукувати або вивантажити в інший формат.

Потреба у вивантаженні даних в Excel може виникнути у кожного програміста баз даних, адже Office встановлений практично на кожному комп'ютері. А це означає, що звітність можна переносити між комп'ютерами і бути упевненим, що її зможуть прочитати.

Для того, щоб здійснити експорт даних Excel, треба спочатку додати до програми пункт меню «Экспорт в Excel» в меню «Файл». Потім перейти в редактор кода й одразу ж додати в розділ uses модуль ComObj. У цьому модулі описані всі необхідні функції для роботи з COM об'єктами.

Після цього створити обробник для пункту меню. У цьому обробнику потрібно написати наступний код:

var

XlApp,Sheet,Colum:Variant;

Index,I:Integer;

begin

XLApp:= CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XlApp.Workbooks.Add(-4167);

XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';

Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;

Colum.Columns[1].ColumnWidth:=20;

Colum.Columns[2].ColumnWidth:=20;

Colum.Columns[3].ColumnWidth:=20;

Colum.Columns[4].ColumnWidth:=20;

Colum.Columns[5].ColumnWidth:=20;

Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;

Colum.Rows[2].Font.Bold:=true;

Colum.Rows[1].Font.Bold:=true;

Colum.Rows[1].Font.Color:=clBlue;

Colum.Rows[1].Font.Size:=14;

Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];

Sheet.Cells[1,2]:='Телефонный справочник';

Sheet.Cells[2,1]:='Фамилия';

Sheet.Cells[2,2]:='Имя';

Sheet.Cells[2,3]:='Телефон';

Sheet.Cells[2,4]:='Город';

Sheet.Cells[2,5]:='Дата рождения';

index:=3;

DataModule1.BookTable.First;

for i:=0 to DataModule1.BookTable.RecordCount-1 do

begin

Sheet.Cells[index,1]:=DataModule1.BookTable.Fields.Fields[1].AsString;

Sheet.Cells[index,2]:=DataModule1.BookTable.Fields.Fields[2].AsString;

Sheet.Cells[index,3]:=DataModule1.BookTable.Fields.Fields[3].AsString;

Sheet.Cells[index,4]:=DataModule1.BookTable.Fields.Fields[6].AsString;

Sheet.Cells[index,5]:=FormatDateTime('dddddd',

DataModule1.BookTable.Fields.Fields[7].AsDateTime);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]