русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Формування таблиці


Дата додавання: 2014-10-07; переглядів: 1042.


 

Робота із шаблонами, розглянута вище, дозволяє створювати звіт тільки для окремого запису таблиці. Набагато частіше звіт створюється для декількох записів одночасно. При цьому дані представляються на одному аркуші у вигляді таблиці-списку. Для розгляду принципу формування списку у вигляді таблиці нам знадобиться ще ряд властивостей і методів сервера Microsoft Excel.

Для звертання до чарунки аркуша використовують властивість:

e.activeworkbook.sheets.item[i].cells[j,k].value

де i - номер рядка, j - номер стовпця.

Для виділення чарунки використовують команду:

e.activeworkbook.sheets.item[i].range['діапазон'].select;

У якості діапазону може виступати як окрема чарунка, так і діапазон чарунок, наприклад:

e.activeworkbook.sheets.item[i].range['A1'].select; //виділяється одна чарунка

e.activeworkbook.sheets.item[i].range['A1:D5'].select; //виділяється діапазон чарунок

Для копіювання виділеного діапазону використовують команду:

e.activeworkbook.sheets.item[i].range['діапазон'].copy;

Для вставки скопійованої інформації з буфера використовують команду:

e.activeworkbook.sheets.item[i].paste;

Приклад. Нехай є шаблон spisok.xlt, який знаходиться в теці shablon. Шаблон має шапку таблиці з полями № з/п, прізвище, ім'я, дата народження. Шапка розташована в першому рядку аркуша.

На підставі даних таблиці БД сформувати список із записів.

try

//підключаємося до Excel

e:=getactiveoleobject('excel.application');

except

//якщо підключення не вдалося (Excel не запущений)

//створюємо новий об'єкт, запускаючи Excel

e:=createoleobject('excel.application');

end;

 

//виключаємо повідомлення excel

e.displayalerts:=false;

 

//створюємо нову книгу на підставі шаблону

e.workbooks.add(extractfilepath(application.Exename)+'shablon\spisok.xlt');

 

//виділяємо шапку таблиці в 1 рядку

e.activeworkbook.sheets.item[1].range['a1:e1'].select;

//копіюємо виділену шапку в буфер обміну

e.activeworkbook.sheets.item[1].range['a1:e1'].copy;

//переходимо на перший запис таблиці

adotable1.first;

//i - номер рядка, у якому перебуває шапка таблиці

i:=1;

//n - номер рядка в списку

n:=0;

//організовуємо цикл по таблиці

while not adotable1.eof do

begin

//збільшуємо число рядків у таблиці

i:=i+1;

//збільшуємо число виведених записів

n:=n+1;

//виділяємо першу чарунку в наступному рядку

e.activeworkbook.sheets.item[1].range['a'+inttostr(i)].select;

//вставляємо у виділену чарунку скопійовану шапку таблиці

e.activeworkbook.sheets.item[1].paste;

//у стовпчик № з/п вставляємо значення лічильника записів

e.activeworkbook.sheets.item[1].cells[i,1].value:=n;

//у стовпчик прізвище вставляємо значення поля fam таблиці БД

e.activeworkbook.sheets.item[1].cells[i,2].value:=adotable1.fieldbyname('fam').asstring;

//у стовпчик ім'я вставляємо значення поля imya таблиці БД

e.activeworkbook.sheets.item[1].cells[i,3].value:=adotable1.fieldbyname('imya').asstring;

//у стовпчик Дата народження вставляємо значення поля datar таблиці БД

e.activeworkbook.sheets.item[1].cells[i,4].value:=adotable1.fieldbyname('datar').asstring;

//переходимо на наступний запис у таблиці

adotable1.Next;

end;

 

Робота із формулами

Одним з основних переваг Excel є використання формул. Якщо в чарунці написати текст формули, то вона автоматично буде розрахована самою програмою Microsoft Excel.

Для введення формули використовують властивість виду:

e.activeworkbook.sheets.item[1].cells[i,j].formula:='=текст формули';

При введенні формул потрібно враховувати ряд особливостей:

  • ім'я чарунки записується у вигляді RiCj - де i - номер рядка, а j - номер стовпця;
  • кожна функція Excel записується в її англомовному варіанті.

Наприклад. У чарунці A3 порахувати суму чарунок A1 і A2.

e.activeworkbook.sheets.item[1].cells[1,3].formula:='=r1c1+r1c2';

Нехай у чарунках A1:A6 знаходяться деякі числові значення. Необхідно порахувати суму значень у цих чарунках і відобразити результат у чарунці А7.

 

e.activeworkbook.sheets.item[1].cells[7,1].formula:='=sum(r1c1+r6c1)';

 

 


<== попередня лекція | наступна лекція ==>
Використання шаблону для формування книги | Форматування чарунок


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн