Далее создаем OLE объект:Excel:=CreateOleObject('Excel.Application');
Добавляем новую книгу:Excel.Workbooks.Add;
Показываем Excel:Excel.Visible:=true;
Так же нам понадобятся константы:const
xlContinuous=1;
xlThin=2;
xlTop = -4160;
xlCenter = -4108;
Текст ячеек.Теперь до любой ячейки мы можем добраться следующим образом:Excel.ActiveWorkBook.WorkSheets[1].Cells[1, 2]:='Текст ячейки (1,2)';
Объект Range, выделение диапазона, объединение ячеек, выравнивание.Представьте такую ситуацию: необходимо объединить несколько ячеек и выровнять текст в них по центру.Выделяем:Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Select;
Объединяем:Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Merge;
И выравниваем:Excel.Selection.HorizontalAlignment:=xlCenter;
Границы и перенос по словам.Для начала выделяем нужный диапазон а затем...Показываем границы:Excel.Selection.Borders.LineStyle:=xlContinuous;
Excel.Selection.Borders.Weight:=xlThin;
И включаем перенос по словам:Excel.Selection.WrapText:=true;
Пример.Пример можно скачать [- http://www.codenet.ru/progr/delphi/stat/Excel-Export1.zip
Параметры страницы.Начнем с полей страницы. Во первых для того чтобы добраться допараметров страницы у листа Excel имеется свойство объект PageSetup егомы и будем использовать. Для установки размеров полей необходимоизменить соответствующие свойства PageSetup, вот эти свойства:LeftMargin - Левое полеRightMargin - Правое полеTopMargin - Верхнее полеBottomMargin - Нижнее полеЗначение размеров полей необходимо указывать в пикселях, к чему мыне очень привыкли, поэтому воспользуемся функцией InchesToPointsобъекта Application, которая переводит значение в дюймах в значение впикселях. Теперь напишем процедуру которая подключит Excel и установитполя равные 0.44 дюйма (приблизительно 1 см):procedure Connect;
var
Excel:Variant;
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Workbooks.Add;
Excel.ActiveSheet.PageSetup.LeftMargin:= Excel.Application.InchesToPoints(0.44);
Excel.ActiveSheet.PageSetup.RightMargin:= Excel.Application.InchesToPoints(0.44);
Excel.ActiveSheet.PageSetup.TopMargin:= Excel.Application.InchesToPoints(0.44);
Excel.ActiveSheet.PageSetup.BottomMargin:= Excel.Application.InchesToPoints(0.44);
end;
Иногда полезно уметь установить и ориентацию страницы:Excel.ActiveSheet.PageSetup.Orientation:= 2;
Здесь значение ориентации = 2, означает альбомную, при книжной ориентации присвойте Orientation значение 1.Вы наверное не раз встречали такой отчет в котором таблица сбольшим количеством строк размещается на нескольких страницах в такихслучаях очень удобны сквозные строки, они печатаются на каждой страницеотчета:Excel.ActiveSheet.PageSetup.PrintTitleRows:='$2:$3';
Здесь мы указываем вторую и третью строки для печати на каждой странице.Шрифты и цвета.Для установки шрифта и размера текста выделите нужный диапазон иустановите свойство Name объекта-свойства Font объекта Selection илисвойство Size для изменения размера:Excel.ActiveWorkBook.WorkSheets[1].Range['F1'].Select;
Excel.Selection.Font.Name:='Courier New';
Excel.Selection.Font.Size:=18;
Если Вы хотите установить жирный или, например, наклонный стиль написания текста установите соответствующие свойства:Excel.ActiveWorkBook.WorkSheets[1].Range['G1'].Select;
Excel.Selection.Font.Bold:=true; // Для жирного текста
Excel.Selection.Font.Italic:=true; // Для наклонного текста
Для указания цвета текста измените свойство ColorIndex все того же объекта Font:Excel.ActiveWorkBook.WorkSheets[1].Range['A1'].Select;
Excel.Selection.Font.ColorIndex:=3;
Вот несколько индексов цветов:Индекс - Цвет 0 - Авто 2 - Белый 3 - Красный 5 - Синий 6 - Желтый 10 - Зеленый Для изменения цвета фона ячейки используйте объект Interior свойства Selection:Excel.ActiveWorkBook.WorkSheets[1].Range['H1'].Select;
Excel.Selection.Interior.ColorIndex:=3; // Цвет
Колонтитулы.Для добавления колонтитула к документу достаточно указать его содержание: Excel.ActiveSheet.PageSetup.LeftFooter:='Левый нижний колонтитул';
Excel.ActiveSheet.PageSetup.CenterFooter:='Центральный нижний колонтитул';
Excel.ActiveSheet.PageSetup.RightFooter:='Правый нижний колонтитул';
Excel.ActiveSheet.PageSetup.LeftHeader:='Левый верхний колонтитул';
Excel.ActiveSheet.PageSetup.CenterHeader:='Центральный верхний колонтитул';
Excel.ActiveSheet.PageSetup.RightHeader:='Правый верхний колонтитул';
Для изменения размера шрифта добавьте к колонтитулу управляющий символ "&" и размер шрифта:Excel.ActiveSheet.PageSetup.LeftFooter:='&7Левый нижний колонтитул';
На этом пока все. Пример к статье http://www.codenet.ru/progr/delphi/stat/Excel-Export2.zip