Приложение I. Работа с отчетами Excel Script Pascal

Редактор Script Pascal

Базовая структура скрипта:
program Report;
begin
end.

Имя может быть любым.

Doc - Глобальная переменная отчета Excel.

Доступные функции объекта Doc:

procedure SetActiveSheetByIndex(Num: Integer)
Установить активный лист по номеру/индексу
Num - номер листа (от 1)
procedure SetActiveSheetByName(Name: string)
Установить активный лист по названию
Name - имя/название листа
procedure AddSheet(Name: string)
Добавить новый лист. Далее он становится активным
Name - имя/название листа
procedure RemoveSheetByIndex(Num: Integer)
Удалить лист по номеру/индексу
Num - номер листа (от 1)
procedure RemoveSheetByName(Name: String)
Удалить лист по названию
Name - имя/название листа
function GetCountSheet: integer
Возвращает количество листов
procedure SetColWidth(const Col: Integer; const Width: Double; const AUnits: TsSizeUnits)
Установить ширину столбца
Col - столбец (от 1)
Width - значение
AUnits - единица измерения (suChars - символы, suMillimeters - миллиметры, suCentimeters - сантиметры, suInches - дюймы)
procedure SetRowHeight(const Row: Integer; const Height: Double; const AUnits: TsSizeUnits)
Установить высоту столбца
Row - строка (от 1)
Height - значение
AUnits - единица измерения (suChars - символы, suMillimeters - миллиметры, suCentimeters - сантиметры, suInches - дюймы)
procedure SetCellValueString(const Row, Col: Integer; const Value: String)
Установить значение в ячейку типа String (строка)
Row - строка (от 1)
Col - столбец (от 1)
Value - значение
procedure SetCellValueInteger(const Row, Col: Integer; const Value: Integer)
Установить значение в ячейку типа Integer (целое число)
Row - строка (от 1)
Col - столбец (от 1)
Value - значение
procedure SetCellValueFloat(const Row, Col: Integer; const Value: Double)
Установить значение в ячейку типа Double (дробное число)
Row - строка (от 1)
Col - столбец (от 1)
Value - значение
procedure SetCellValueVariant(const Row, Col: Integer; const Value: Variant)
Установить значение в ячейку типа Variant
Row - строка (от 1)
Col - столбец (от 1)
Value - значение
function GetCellValueString(const NumSheet, Row, Col: Integer): String
Возвращает значение ячейки типа String (строка)
NumSheet - номер листа (от 1, 0 - текущий активный лист) Row - строка (от 1)
Col - столбец (от 1)
function GetCellValueInteger(const NumSheet, Row, Col: Integer): Integer
Возвращает значение ячейки типа Integer (целое число)
NumSheet - номер листа (от 1, 0 - текущий активный лист) Row - строка (от 1)
Col - столбец (от 1)
function GetCellValueFloat(const NumSheet, Row, Col: Integer): Double
Возвращает значение ячейки типа Double (дробное число)
NumSheet - номер листа (от 1, 0 - текущий активный лист) Row - строка (от 1)
Col - столбец (от 1)
function GetCellValueVariant(const NumSheet, Row, Col: Integer): Variant
Возвращает значение ячейки типа Variant
NumSheet - номер листа (от 1, 0 - текущий активный лист) Row - строка (от 1)
Col - столбец (от 1)
function GetCellEmpty(const NumSheet, Row, Col: Integer): boolean
Возвращает наличие данных в ячейке
NumSheet - номер листа (от 1, 0 - текущий активный лист) Row - строка (от 1)
Col - столбец (от 1)
procedure MergeCells(const FirstRow, FirstCol, LastRow, LastCol: Integer)
Объеденение ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
procedure UnMergeCells(const Row, Col: Integer)
Разъединить ячейки
Row - строка (от 1)
Col - столбец (от 1)
procedure SetCellBorders(const Row, Col: Integer; Borders: TsCellBorders)
Установить границы ячейки
Row - строка (от 1)
Col - столбец (от 1)
Borders - границы [cbNorth - сверху, cbWest - слева, cbEast - справа, cbSouth - снизу, cbDiagUp - по диагонали, cbDiagDown - по диагонали]
procedure SetCellsBorders(const FirstRow, FirstCol, LastRow, LastCol: Integer; Borders: TsCellBorders)
Установить границы ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Borders - границы [cbNorth - сверху, cbWest - слева, cbEast - справа, cbSouth - снизу, cbDiagUp - по диагонали, cbDiagDown - по диагонали]
procedure SetCellColor(const Row, Col: Integer; Color: Cardinal)
Установить цвет фона ячейки
Row - строка (от 1)
Col - столбец (от 1)
Color - цвет
procedure SetCellsColor(const FirstRow, FirstCol, LastRow, LastCol: Integer; Color: Cardinal)
Установить цвет фона ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Color - цвет
procedure SetCellFontColor(const Row, Col: Integer; Color: Cardinal)
Установить цвет шрифта ячейки
Row - строка (от 1)
Col - столбец (от 1)
Color - цвет
procedure SetCellsFontColor(const FirstRow, FirstCol, LastRow, LastCol: Integer; Color: Cardinal)
Установить цвет шрифта ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Color - цвет
procedure SetCellFontSize(const Row, Col: Integer; Size: Integer)
Установить размер шрифта ячейки
Row - строка (от 1)
Col - столбец (от 1)
Size - размер
procedure SetCellsFontSize(const FirstRow, FirstCol, LastRow, LastCol: Integer; Size: Integer)
Установить размер шрифта ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Size - размер
procedure SetCellFontStyle(const Row, Col: Integer; Style: TsFontStyles)
Установить стиль шрифта ячейки
Row - строка (от 1)
Col - столбец (от 1)
Style - стиль [fssBold - полужирный, fssItalic - курсив, fssStrikeOut - перечекнутый, fssUnderline - подчеркнутый]
procedure SetCellsFontStyle(const FirstRow, FirstCol, LastRow, LastCol: Integer; Style: TsFontStyles)
Установить размер шрифта ячеек
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Style - стиль [fssBold - полужирный, fssItalic - курсив, fssStrikeOut - перечекнутый, fssUnderline - подчеркнутый]
procedure SetCellHorAlignment(const Row, Col: Integer; Align: TsHorAlignment)
Выравнивание по горизонтали в ячейке
Row - строка (от 1)
Col - столбец (от 1)
Align - выравнивание (haDefault - по умолчанию, haLeft - слева, haCenter - по центру, haRight - справа)
procedure SetCellsHorAlignment(const FirstRow, FirstCol, FastRow, FastCol: Integer; Align: TsHorAlignment)
Выравнивание по горизонтали в ячейках
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Align - выравнивание (haDefault - по умолчанию, haLeft - слева, haCenter - по центру, haRight - справа)
procedure SetCellVertAlignment(const Row, Col: Integer; Align: TsVertAlignment)
Выравнивание по вертикали в ячейке
Row - строка (от 1)
Col - столбец (от 1)
Align - выравнивание (vaDefault - по умолчани, vaTop - сверху, vaCenter - по центру, vaBottom - снизу)
procedure SetCellsVertAlignment(const FirstRow, FirstCol, LastRow, LastCol: Integer; Align: TsVertAlignment)
Выравнивание по вертикали в ячейках
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Align - выравнивание (vaDefault - по умолчани, vaTop - сверху, vaCenter - по центру, vaBottom - снизу)
procedure SetCellWordWrap(const Row, Col: Integer; Wrap: Boolean)
Перенос текста в ячейке
Row - строка (от 1)
Col - столбец (от 1)
Wrap - перенос (true - да, false -нет)
procedure SetCellsWordWrap(const FirstRow, FirstCol, LastRow, LastCol: Integer; Wrap: Boolean)
Перенос текста в ячейках
FirstRow - начальная строка (от 1)
FirstCol - начальный столбец (от 1)
LastRow - конечная строка (от 1)
LastCol - конечный столбец (от 1)
Wrap - перенос (true - да, false -нет)

Панель управления:

Очистить код
Компиляция скрипта

Компиляция

Перед использованием скрипта, проверьте работоспособность.

При успешной компиляции выведется сообщение: Compile complete

В случае ошибки отобразиться ее описание и позицию в коде

Ошибка компиляции