Часть полного текста документа:Отчётность в 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.  ............   |