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