Рефетека.ру / Информатика и програм-ие

Доклад: Отчётность в Excel

Отчётность в Excel

Наша задача создать отчётность в Excel. Эта потребность может возникнуть у каждого программиста баз данных, ведь Office установлен в нашей стране практически на каждом компьютере. А это значит, что вашу отчётность можно смело переносить между компьютерами и быть уверенным, что её смогут прочитать.

Сначала я покажу полностью процедуру, потому что исходников в конце статьи не будет, а потом мы разберём её по косточкам:

procedure TForm1.Button1Click(Sender: TObject);

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:=40;

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

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

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

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]:='Отчёт из Delphi';

Sheet.Cells[2,1]:='Колонка 1';

Sheet.Cells[2,2]:='Колонка 2';

Sheet.Cells[2,3]:='Колонка 3';

Sheet.Cells[2,4]:='Колонка 4'; 

index:=3;

for i:=0 to 2 do 

begin   

Sheet.Rows[index].Font.Color:=clGreen;   

Sheet.Cells[index,1]:=random(100);    

Sheet.Cells[index,2]:=random(100);    

Sheet.Cells[index,3]:=random(100);    

Sheet.Cells[index,4].Font.Color:=clRed;   

Sheet.Cells[index,4]:=random(100);   

Inc(index); 

end;

end;

Для того, чтобы всё это работало, нужно подключить в раздел Uses модуль ComObj . А теперь начнём всё с самого начала.

Первая строка создаёт объект Excel (XLApp:= CreateOleObject('Excel.Application')), и записывает его в переменную XLApp . Эта переменная типа Variant . Variant - это тип, который может принимать любые значения: строки, числа, указатели и др. Вторая строка (XLApp.Visible:=true) заставляет запустить сам Excel. Потом я добавляю новую рабочую книгу (XLApp.Workbooks.Add(-4167)). Число в скобках - это константа, которая означает создание книги и её изменять нельзя. Дальше я даю название созданной книге XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт'. Это действие не обязательно, но я всегда это делаю, потому что меня бесит название по умолчанию "Лист 1".

Теперь у нас Excel запущен и создана новая книга. Можно переходить к впечатыванию данных. Но прежде чем это сделать я отформатирую колонки и строки. Для этого я получаю указатель на колонки рабочей книги (Colum:= XLApp. Workbooks[1]. WorkSheets['Отчёт']. Columns), и записываю результат в переменную Colum типа Variant . Теперь последовательно изменяю ширину колонок (Colum. Columns[1]. ColumnWidth := 40). На русском эта команда будет звучать так: Колонки. Колонка[1]. ШиринаКолонки:=40.

После этого я в ту же переменную записываю указатель на строки рабочей книги (Colum := XLApp. Workbooks[1]. WorkSheets['Отчёт']. Rows). Для украшения строк нашего отчёта, я устанавливаю у первых двух строк жирный шрифт (Colum. Rows[1]. Font. Bold := true). В квадратных скобках теперь порядковый номер строки. Далее идут две строки, в которых я устанавливаю цвет первой строки в синий и размер шрифта равный 14.

Форматирование окончено, теперь можно выводить данные. Для этого я получаю указатель на лист (Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт']). Для того, чтобы вывести данные, нужно просто присвоить значение в Sheet.Cells[строка, колонки]. В процессе вывода данных можно изменять цвет строк Sheet. Rows[строка]. Font. Color или колонок Sheet. Columns[колонка]. Font. Color, простым присваиванием (как мы это делали при форматировании). Если нужно изменить цвет отдельной ячейки, то это можно сделать, присвоив новое значение в Sheet.Cells[строка, колонка].Font.Color.

Вот ещё некоторые параметры, которые ты можешь изменить:

Sheet.Cells[строка,колонка].Font.Italic - курсивный шрифт

Sheet.Cells[строка,колонка].Font.Bold - жирный шрифт

Sheet.Cells[строка,колонка].Font.Underline - подчёркнутый шрифт

Sheet.Cells[строка,колонка].Font.Size - размер шрифта

С помощью всего этого, ты сможешь создавать простые, но эффективные отчёты. В Delphi, в директории Lib есть файлик excel97.pas, в нём ты найдёшь все доступные функции Excel. Если у тебя есть достаточные навыки, чтобы разобраться с ним, то в перёд. А начинающему программисту там без бутылки не разобраться. Если ты относишься ко второй категории, то жди, возможно я ещё вернусь к этой теме.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://vlad2000.h1.ru/


Похожие работы:

  1. • Отчетность по МСФО в MS Excel
  2. • Автоматизация финансово-экономического отдела ТОО ...
  3. • Прогнозирование временных рядов
  4. • Возможности справочной правовой системы Гарант для управления ...
  5. • Программа AXAPTA на предприятии ООО "Топкинский ...
  6. • Годовое общее собрание акционеров: подготовка и проведение
  7. • Бухгалтерская (финансовая) отчетность и ее роль в ...
  8. • Учет операций с ценными бумагами
  9. • Организация бухгалтерского учета на предприятии ООО ...
  10. • Компьютерный учет: преимущества и недостатки
  11. • Исследование организации архивного дела в ...
  12. • Автоматизация в банковской сфере
  13. • Использование информационных компьютерных ...
  14. • Разработка системы оперативно-диспетчерского ...
  15. • Анализ финансового состояния ЗАО "Агротехсервис" как ...
  16. • Применение в туризме новейших цифровых технологий ...
  17. • Аутсорсинг в инновационной деятельности предприятия
  18. • Справочные правовые системы
  19. • Анализ баланса предприятия
Рефетека ру refoteka@gmail.com