Экспорт документов Excel

Экспорт документов Excel Экспорт документов в Excel Автор: JBhttp://asportal.h16.ru Эта статья первая из цикла статей посвященных экспорту документов в MS Excel. В ней мы рассмотрим подключение к Excel, заполнению ячеек и простейшее оформление документа. Я не буду углубляться в теорию, рассказывать о том как работает OLE механизм, начнем с самого главного. Подключение. Для подключения к Excel и работы с ним нам понадобится переменная типа Variant: Excel:Variant; Далее создаем OLE объект: Excel:=CreateOleObject('Excel.Application'); Добавляем новую книгу: Excel.Workbooks.Add; Показываем Excel: Excel.Visible:=true; Так же нам понадобятся константы: const xlContinuous=1; xlThin=2; xl = -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; Пример. Пример можно скачать здесь Параметры страницы. Начнем с полей страницы. Во первых для того чтобы добраться до параметров страницы у листа Excel имеется свойство объект PageSetup его мы и будем использовать. Для установки размеров полей необходимо изменить соответствующие свойства PageSetup, вот эти свойства: ·LeftMargin - Левое поле ·RightMargin - Правое поле ·Margin - Верхнее поле ·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.Margin:= 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Левый нижний колонтитул';

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...