У uses додати ComObj
var
Form1: TForm1;
XL: variant; / / Змінна в якій створюється об'єкт EXCEL
Створення документа
/ / Об'єкт EXCEL
XL: = CreateOleObject ('Excel.Application');
/ / Щоб не ставив питання про збереження документа
XL.DisplayAlerts: = false;
/ / Новий документ
XL.WorkBooks.Add;
/ / Або завантажуємо його
XL.WorkBooks.Open (MyDir + 'akt.xls');
{MyDir - глобальна змінна типу string в неї поміщаємо шлях
до каталогу запуску нашої програми по події FormCreate
procedure TForm1.FormCreate (Sender: TObject);
begin
GetDir (0, MyDir);
end;
я завжди так роблю, щоб програму можна було в будь-який каталог
помістити разом зі своїми додатковими файлами, в цьому випадку шлях
буде вибиратися завжди правильно
}
/ / Робимо його видимим
XL.Visible: = true;
/ / Коли прога вже відтестовано краще це робити в кінці, швидше працює,
/ / А поки немає краще на початку
/ / Ліве і праве поля відступу для друку
XL.WorkBooks [1]. WorkSheets [1]. PageSetup.LeftMargin: = 30;
XL.WorkBooks [1]. WorkSheets [1]. PageSetup.RightMargin: = 10;
/ / Даємо назву сторінці
XL.WorkBooks [1]. WorkSheets [1]. Name: = 'Прайс лист';
/ / Рядок з'являється на кожному аркуші при друці
XL.WorkBooks [1]. WorkSheets [1]. PageSetup.PrintTitleRows: = '$ 3: $ 3';
XL.WorkBooks [1]. WorkSheets [1]. PageSetup.PrintTitleColumns: = '$ A: $ A';
/ / Формат числа
for i: = 4 to 13 do
XL.WorkBooks [1]. WorkSheets [1]. Columns [i]. NumberFormat: = '0, 00 ';
XL.WorkBooks [1]. WorkSheets [1]. Columns [4]. NumberFormat: = '0 ';
/ / Таким способом можна задавати ширину колонки
XL.WorkBooks [1]. WorkSheets [1]. Columns [1]. ColumnWidth: = 4.5;
XL.WorkBooks [1]. WorkSheets [1]. Columns [2]. ColumnWidth: = 50;
for i: = 3 to 13 do
XL.WorkBooks [1]. WorkSheets [1]. Columns [i]. ColumnWidth: = 8;
/ / Шрифт жирний
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. Font.Bold: = True;
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. Font.Color: = clBlack;
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. Font.Size: = 16;
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. Font.Name: = 'Times New Roman';
XL.WorkBooks [1]. WorkSheets [1]. Cells [1,4]: = 'Прайс лист';
/ / Вирівнюючи по центру по вертикалі
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. VerticalAlignment: = 2;
/ / Вирівнюючи по центру по горизонталі
XL.WorkBooks [1]. WorkSheets [1]. Rows [1]. HorizontalAlignment: = 3;
/ / Об'єднує осередки
XL.WorkBooks [1]. WorkSheets [1]. Range ['A1: D1']. Merge;
/ / Вирівнюючи по центру по вертикалі
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. VerticalAlignment: = 2;
/ / Вирівнюючи по центру по горизонталі
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. HorizontalAlignment: = 3;
/ / Вирівнюючи по лівому краю
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,2]. HorizontalAlignment: = 2;
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,3]. HorizontalAlignment: = 2;
/ / Вирівнюючи по правому краю
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,4]. HorizontalAlignment: = 4;
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. Font.Color: = clBlack;
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. Font.Name: = 'Times New Roman';
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. Font.Size: = 12;
XL.WorkBooks [1]. WorkSheets [1]. Rows [3]. Font.Bold: = True;
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,1]: = '№';
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,2]: = 'Назва продукції';
XL.WorkBooks [1]. WorkSheets [1]. Cells [3,3]: = 'Од. ізм. ';
/ / Змалювання діапазону комірок тільки знизу
/ / Borders [1] .... [4] - це краю осередку ColorIndex -4142 - порожній колір i і n - змінні
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders.LineStyle: = 1;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders.Weight: = 2;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders [4]. ColorIndex: = 1;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders [1]. ColorIndex: = -4142;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders [2]. ColorIndex: = -4142;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A' + IntToStr (i) + ':' + chr (ord ('C') + n) + IntToStr (i)]. Borders [3]. ColorIndex: = -4142;
/ / Змалювання діапазону комірок
XL.WorkBooks [1]. WorkSheets [1]. Range ['A3:' + chr (ord ('C') + n) + IntToStr (i)]. Borders.LineStyle: = 1;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A3:' + chr (ord ('C') + n) + IntToStr (i)]. Borders.Weight: = 2;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A3:' + chr (ord ('C') + n) + IntToStr (i)]. Borders.ColorIndex: = 1;
/ / Присвоєння осередку значення
XL.WorkBooks [1]. WorkSheets [1]. Cells [i, j]: = 'К-сть';
/ / Повертати слова, писати вертикально, під кутом і т.д.
XL.WorkBooks [1]. WorkSheets [1]. Rows [2]. Orientation: = 90;
XL.WorkBooks [1]. WorkSheets [1]. Range ['A2: B2']. Orientation: = 0;