Четверг, 09.05.2024, 19:11
Приветствую Вас Гость

LabSoft

Меню сайта
Категории каталога
Статьи по кодингу [24]
Материалы по кодингу
КреатиFF [144]
Рассказы, истории, анекдоты...
Разное [8]
Советы, трюки, полезные рекомендации, статьи о новом и забытом старом...
Наш опрос
Оцените сайт:
Всего ответов: 19
Главная » Статьи » Статьи по кодингу

Создание отчётности в Excel
1. В разделе Uses добавляем модуль ComObj, который отвечает за работу с COM объектами.

[code]
procedure TForm1.Excel1Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
// Variant - это тип, который может принимать любые значения: строки, числа, указатели и др.
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
// создание объекта Excel в переменную XLApp
XLApp.Visible:=true;
// запуск Excel
XLApp.Workbooks.Add(-4167);
// добавление новой рабочей книги
Colum:=XLApp.Workbooks[1].WorkSheets['Лист1'].Columns;
//записывается указатель на столбец страницы Лист1
//меняется ширина столбцов
Colum.Columns[1].ColumnWidth:=15;
Colum.Columns[2].ColumnWidth:=10;
Colum.Columns[3].ColumnWidth:=15;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=15;
Colum:=XLApp.Workbooks[1].WorkSheets['Лист1'].Rows;
//записывается указатель на строку страницы Лист1
//форматирование строк (шрифт, цвет, размер)
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['Лист1'];
// записывается указатель на страницу Лист1
//записываем данные в ячейки первой и второй строки
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.ADOTable1.First;
for i:=0 to DataModule1.ADOTable1.RecordCount-1 do
begin
//здесь указываем индекс поля
Sheet.Cells[index,1]:=DataModule1.ADOTable1.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule1.ADOTable1.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:=DataModule1.ADOTable1.Fields.Fields[3].AsString;
Sheet.Cells[index,4]:=DataModule1.ADOTable1.Fields.Fields[6].AsString;
Sheet.Cells[index,5]:=FormatDateTime('dddddd',
DataModule1.ADOTable1.Fields.Fields[5].AsDateTime);
Inc(index);
DataModule1.ADOTable1.Next;
end;
end;
end.
[/code]

Категория: Статьи по кодингу | Добавил: Jimmy (01.03.2008) | Автор: Jimmy
Просмотров: 1560 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0