by
ru
en
by

Avemey

logo
ФайлыГлавнаяСсылкиФотографииАниме

ZEXMLSS


zexmlss - это библиотека, позволяющая создавать и загружать файлы формата excel 2002/2003 XML (SpreadsheetML / XML Spreadsheet), OpenDocument Format (ODS), Office Open XML (xlsx) БЕЗ использования MS Office или Open Office.
Работает в Lazarus (проверено с Lazarus 1.2.6 и FPC 2.6 под Linux-ом и Windows), в Delphi 7, Borland Developer Studio 2005, BDS 2006, CodeGear Delphi 2007, CodeGear RAD Studio 2009 и 2010, Delphi XE и Delphi XE2, в C++ Builder 6.
Лицензия: zlib License
Последняя версия: 0.0.15 от 2016.11.25 (бета).

Документ, созданный с помощь zexmlss открыт в excel 2003
Документ, созданный с помощь zexmlss, открыт в excel 2003
zexmlss + ZColorStringGrid
zexmlss + ZColorStringGrid
Документ, созданный с помощь zexmlss открыт в OpenOffice.org 3.0.1
Документ, созданный с помощь zexmlss, открыт в OpenOffice.org 3.0.1


zip zexmlss_0_0_15_src.zip (860Kb) - Исходный код.

Основные возможности:
  • Чтение/запись excel XML файлов в кодировках windows-1251, CP866, UTF-8, UTF-16 (Little Endian и Big Endian)
  • Запись/чтение Open Document Format (ODS) в/из директорию (Lazarus/Delphi) и как запакованный файл (Lazarus (если прочесть readme.txt, то и в Delphi))
  • Чтение/запись Office Open XML (xlsx) из директории (Lazarus/Delphi) и из запакованного файла (Lazarus (в Delphi через readme.txt))
  • Простое копирование ячеек в/из StringGrid
  • Простое копирование ячеек (со стилем и объединёнными ячейками) в/из ZColorStringGrid (только для Delphi и C++Builder без установленного в zexml.inc NOZCOLORSTRINGGRID)
::: Примеры кода ::: История версий ::: Delphi+zexmlss+zip :::
::: Условное форматирование ::: Коды числовых форматов

Основные классы:
  • TZEXMLSS - контейнер содержимого документа электронной таблицы
  • TZsspXMLWriter - пишет в XML
  • TZsspXMLReader - что-то вроде SAX парсера (может читать некоторые некорректные XML)

Основные функции:

Функция Краткое описание
function GridToXmlSS(var XMLSS: TZEXMLSS; const PageNum: integer; var Grid: TStringGrid; ToCol: integer; ToRow: integer; BCol, BRow, ECol, ERow: integer; ignorebgcolor: boolean; _border: byte): boolean; overload; Копирует данные из Grid на страницу XMLSS. XMLSS - Хранилище. PageNum - Номер страницы. Grid - стринггрид, из которого нужно брать данные. ToCol - номер столбца для вставки. ToRow - номер строки для вставки. BCol - верхняя левая колонка грида. BRow - верхняя левая строка грида. ECol - нижняя правая колонка грида. ERow - нижняя правая строка грида. ignorebgcolor - если true, то игнорирует цвет фона ячейки. _border - обработка рамки ячейки (1 - все в рамках, 0 - все без рамок).
Возвращает True при успешном копировании.
function GridToXmlSS(var XMLSS: TZEXMLSS; const PageNum: integer; var Grid: TZColorStringGrid; ToCol: integer; ToRow: integer; BCol, BRow, ECol, ERow: integer; ignorebgcolor: boolean; _border: byte): boolean; overload; Копирует данные из Grid на страницу XMLSS. XMLSS - Хранилище. PageNum - Номер страницы. Grid - zcolorstringgrid, из которого нужно брать данные. ToCol - номер столбца для вставки. ToRow - номер строки для вставки. BCol - верхняя левая колонка грида. BRow - верхняя левая строка грида. ECol - нижняя правая колонка грида. ERow - нижняя правая строка грида. ignorebgcolor - если true, то игнорирует цвет фона ячейки. _border - обработка рамки ячейки (1 - все в рамках, 0 - все без рамок, 2 - все с рамками, кроме стиля sgNone).
Только для Delphi и CBuilder-а!
Возвращает True при успешном копировании.
function XmlSSToGrid(var Grid: TStringGrid; var XMLSS: TZEXMLSS; const PageNum: integer; ToCol: integer; ToRow: integer; BCol, BRow, ECol, ERow: integer; InsertMode: byte; StyleCopy: integer = 511): boolean; overload; Копирует данные из страницы TZEXMLSS в TStringGrid. Grid - грид, в который нужно вставить ячейки. XMLSS - хранилище. PageNum - Номер страницы. ToCol - номер столбца для вставки. ToRow - номер строки для вставки. BCol - верхняя левая колонка хранилища. BRow - верхняя левая строка хранилища. ECol - нижняя правая колонка хранилища. ERow - нижняя правая строка хранилища. InsertMode - добавлять или заменять ячейки (0 - ячейки в гриде не смещаются; 1 - ячейки в гриде смещаются вправо на размер добавляемой области; 2 - ячейки в гриде смещаются вниз на размер добавляемой области; 3 - ячейки в гриде смещаются вправо и вниз на размер добавляемой области). StyleCopy - способ копирования стиля (0 - ничего из стиля не копируется, если StyleCopy and 16 = 16 - копируется размер ячейки).
Возвращает True при успешном копировании.
function XmlSSToGrid(var Grid: TZColorStringGrid; var XMLSS: TZEXMLSS; const PageNum: integer; ToCol: integer; ToRow: integer; BCol, BRow, ECol, ERow: integer; InsertMode: byte; StyleCopy: integer = 1023): boolean; overload; Копирует данные из страницы TZEXMLSS в TZColorStringGrid. Grid - грид, в который нужно вставить ячейки. XMLSS - хранилище. PageNum - Номер страницы. ToCol - номер столбца для вставки. ToRow - номер строки для вставки. BCol - верхняя левая колонка хранилища. BRow - верхняя левая строка хранилища. ECol - нижняя правая колонка хранилища. ERow - нижняя правая строка хранилища. InsertMode - добавлять или заменять ячейки (0 - ячейки в гриде не смещаются; 1 - ячейки в гриде смещаются вправо на размер добавляемой области; 2 - ячейки в гриде смещаются вниз на размер добавляемой области; 3 - ячейки в гриде смещаются вправо и вниз на размер добавляемой области). StyleCopy - способ копирования стиля:
  • 0 - ничего из стиля не копируется
  • StyleCopy and 1 = 1 - копируется BGColor
  • StyleCopy and 2 = 2 - копируется Vertical Alignment
  • StyleCopy and 4 = 4 - копируется Horizontal Alignment
  • StyleCopy and 8 = 8 - копируется Font
  • StyleCopy and 16 = 16 - копируется Размер ячейки
  • StyleCopy and 32 = 32 - WordWrap
  • StyleCopy and 64 = 64 - копируется Merge Area
  • StyleCopy and 128 = 128 - удалять объединённые ячейки на месте вставки
  • StyleCopy and 256 = 256 - установить на месте вставки BorderCellStyle = sqNone
  • StyleCopy and 512 = 512 - Увеличивать высоту ячейки, если текст не помещается
  • StyleCopy and 1024 = 1024 - Увеличивать длину ячейки, если текст не помещается
  • StyleCopy and 2048 = 2048 - устанавливать default-стиль из XMLSS для добавленных на место сдвига ячеек вместо default-стиля из грида
Только для Delphi и CBuilder-а!
Возвращает True при успешном копировании.
function SaveXmlssToEXML(var XMLSS: TZEXMLSS; Stream: TStream; const SheetsNumbers:array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Сохраняет в поток Stream в формате Excel XML SpreadSheet. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из локальной в нужную кодировку (например, AnsiToUtf8 - переводит в кодировку UTF-8). CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
function SaveXmlssToEXML(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Сохраняет в файл FileName в формате Excel XML SpreadSheet. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из из локально в нужную кодировку. CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
function SaveXmlssToEXML(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string): integer; overload; Сохраняет в файл FileName в формате Excel XML SpreadSheet. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). Сохраняет в UTF-8 кодировке.
Возвращает 0 при успешном сохранении.
function SaveXmlssToEXML(var XMLSS: TZEXMLSS; FileName: string): integer; overload; Сохраняет в файл FileName в формате Excel XML SpreadSheet. XMLSS - хранилище. Сохраняет в UTF-8 кодировке все страницы из XMLSS.
Возвращает 0 при успешном сохранении.
function SaveXmlssToODFSPath(var XMLSS: TZEXMLSS; PathName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Сохраняет незапакованный документ в директорию PathName в формате Open Document (ODS). XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из из локально в нужную кодировку. CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToODFSPath(var XMLSS: TZEXMLSS; PathName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string): integer; overload; Сохраняет незапакованный документ в директорию PathName в формате Open Document (ODS). XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). Кодировка - UTF-8
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToODFSPath(var XMLSS: TZEXMLSS; PathName: string): integer; overload; Сохраняет все страницы из XMLSS в незапакованный документ в директорию PathName в формате Open Document (ODS). XMLSS - хранилище. Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToODFS(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате Open Document (ODS) в файл FileName. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из из локально в нужную кодировку. CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
function SaveXmlssToODFS(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате Open Document (ODS) в файл FileName. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
function SaveXmlssToODFS(var XMLSS: TZEXMLSS; FileName: string): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате Open Document (ODS) в файл FileName. XMLSS - хранилище. Сохраняются все страницы. Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
function SaveXmlssToXLSXPath(var XMLSS: TZEXMLSS; PathName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Сохраняет незапакованный документ в директорию PathName в формате Office Open XML (xlsx). XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из из локально в нужную кодировку. CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToXLSXPath(var XMLSS: TZEXMLSS; PathName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string): integer; overload; Сохраняет незапакованный документ в директорию PathName в формате Office Open XML (xlsx). XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToXLSXPath(var XMLSS: TZEXMLSS; PathName: string): integer; overload; Сохраняет незапакованный документ в директорию PathName в формате Office Open XML (xlsx). XMLSS - хранилище. Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
Путь должен существовать!
function SaveXmlssToXLSX(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string; TextConverter: TAnsiToCPConverter; CodePageName: string; BOM: ansistring = ''): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате (xlsx) в файл FileName. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). TextConverter - конвертер текста из из локально в нужную кодировку. CodePageName - имя кодировки. BOM - Byte Order Mark кодировки.
Возвращает 0 при успешном сохранении.
function SaveXmlssToXLSX(var XMLSS: TZEXMLSS; FileName: string; const SheetsNumbers: array of integer; const SheetsNames: array of string): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате (xlsx) в файл FileName. XMLSS - хранилище. SheetsNumbers - массив номеров страниц в нужной последовательности (если массив пустой - берутся все листы из хранилища). SheetsNames - массив названий страниц (количество элементов в двух массивах должны совпадать). Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
function SaveXmlssToXLSX(var XMLSS: TZEXMLSS; FileName: string): integer; overload; Внимание: только для Lazarus!
Сохраняет документ в формате (xlsx) в файл FileName. XMLSS - хранилище. Кодировка - UTF-8.
Возвращает 0 при успешном сохранении.
function ReadEXMLSS(var XMLSS: TZEXMLSS; Stream: TStream): integer; overload; Читает из потока Stream Excel XML SpreadSheet в хранилище XMLSS.
Возвращает 0 при успешном чтении.
function ReadEXMLSS(var XMLSS: TZEXMLSS; FileName: string): integer; overload; Читает из файла FileName Excel XML SpreadSheet в хранилище XMLSS.
Возвращает 0 при успешном чтении.
function ReadODFSPath(var XMLSS: TZEXMLSS; DirName: string): integer; Читает распакованный ODS из директории DirName в хранилище XMLSS.
Возвращает 0 при успешном чтении.
function ReadODFS(var XMLSS: TZEXMLSS; FileName: string); Внимание: только для Lazarus!
Читает ODS из файла FileName в хранилище XMLSS.
Возвращает 0 при успешном чтении.
function ReadXLSXPath(var XMLSS: TZEXMLSS; DirName: string): integer; Читает распакованный xlsx из директории DirName в хранилище XMLSS.
Возвращает 0 при успешном чтении.
function ReadXLSX(var XMLSS: TZEXMLSS; FileName: string): integer; Внимание: только для Lazarus!
Читает xlsx из файла FileName в хранилище XMLSS.
Возвращает 0 при успешном чтении.

TZEXMLSS

Наследован от TComponent. Является контейнером для содержимого электронной таблицы.

Свойства:
Property Краткое описание
Sheets: TZSheets; Листы документа.
Styles: TZStyles; Стили.
DefaultSheetOptions: TZSheetOptions; Свойства листа по-умолчанию.
DocumentProperties: TZEXMLDocumentProperties; Свойства документа.

TZSheets

Наследован от TPersistent. Содержит листы документа.

Свойства:
Property Краткое описание
Count: integer; Кол-во листов в документе.
Sheet[num: integer]: TZSheet; Доступ к листу документа по номеру num.

TZSheet

Наследован от TPersistent. Содержит лист документа.

Свойства:
Property Краткое описание
Cell[ACol, ARow: integer]: TZCell; Ячейка на пересечении столбца ACol и строки ARow.
ColCount: integer; Количество столбцов в листе.
Columns[num: integer]: TZColOptions; Настройки столбца num.
ColWidths[num: integer]: real; Ширина столбца num.
DefaultColWidth: real; Ширина столбца по-умолчанию.
DefaultRowHeight: real; Высота строки по-умолчанию.
MergeCells: TZMergeCells; Объединённые ячейки.
Protect: boolean; Признак защиты листа.
RightToLeft: boolean; Просматривать лист справа налево.
По-умолчанию false.
RowCount: integer; Количество строк.
RowHeights[num: integer]: real; Высота строки num.
Rows[num: integer]: TZRowOptions; Настройки строки num.
Selected: boolean; Признак выбора листа.
SheetOptions: TZSheetOptions; Настройки листа.
ConditionalFormatting: TZConditionalFormatting; Условные форматирования, применяемые к листу.
Title: string; Заголовок листа.

TZCell

Наследован от TPersistent. Представляет собой ячейку.

Свойства:
Property Краткое описание
AlwaysShowComment: boolean; Всегда показывать примечание.
По-умолчанию False.
CellStyle: integer; Номер стиля ячейки.
По-умолчанию -1.
CellType: TZCellType; Тип ячейки.
По-умолчанию ZEansistring (string).
Comment: string; Текст примечания.
CommentAuthor: string; Автор примечания.
Data: string; Отображаемое содержимое ячейки.
Formula: string; Формула в стиле адресации R1C1.
Href: string; Гиперссылка.
HRefScreenTip: string; Отображаемая на экране подпись гиперссылки.
ShowComment: boolean; Показывать примечание.
По-умолчанию False.

TZSheetOptions

Наследован от TPersistent. Параметры страницы.

Свойства:
Property Краткое описание
ActiveCol: word; Номер активного столбца.
По-умолчанию 0.
ActiveRow: word; Номер активной строки.
По-умолчанию 0.
CenterHorizontal: boolean; При печати центрировать таблицу горизонтально.
По-умолчанию False.
CenterVertical: boolean; При печати центрировать таблицу вертикально.
По-умолчанию False.
FooterMargin: word; Размер поля нижнего колонтитула в миллиметрах.
По-умолчанию 13 мм.
Устаревший! Используйте FooterMargins.Height!
HeaderMargin: word; Размер поля верхнего колонтитула в миллиметрах.
По-умолчанию 13 мм.
Устаревший! Используйте HeaderMargins.Height!
FooterMargins: TZHeaderFooterMargins; Размеры и отступы поля нижнего колонтитула.
HeaderMargins: TZHeaderFooterMargins; Размеры и отступы поля верхнего колонтитула в миллиметрах.
FooterData: string; Текст нижнего колонтитула.
Устаревший! Используйте Footer.Data!
HeaderData: string; Текст верхнего колонтитула.
Устаревший! Используйте Header.Data!
IsEvenFooterEqual: boolean; Признак того, что нижний колонтитул на чётных и нечётных страницах одинаковый.
По-умолчанию True.
IsEvenHeaderEqual: boolean; Признак того, что верхний колонтитул на чётных и нечётных страницах одинаковый.
По-умолчанию True.
Footer: TZSheetFooterHeader; Нижний колонтитул.
Header: TZSheetFooterHeader; Верхний колонтитул.
EvenFooter: TZSheetFooterHeader; Нижний колонтитул для чётных страниц. Используется только при IsEvenFooterEqual = true.
EvenHeader: TZSheetFooterHeader; Верхний колонтитул для чётных страниц. Используется только при IsEvenHeaderEqual = true.
HeaderBGColor: TColor; Цвет фона верхнего колонтитула.
По-умолчанию clWindow.
FooterBGColor: TColor; Цвет фона нижнего колонтитула.
По-умолчанию clWindow.
MarginBottom: word; Нижнее поле в миллиметрах.
По-умолчанию 25 мм.
MarginLeft: word; Левое поле в миллиметрах.
По-умолчанию 20 мм.
MarginTop: word; Верхнее поле в миллиметрах.
По-умолчанию 25 мм.
MarginRight: word; Правое поле в миллиметрах.
По-умолчанию 20 мм.
PaperSize: byte; Размер бумаги (Таблица размеров бумаги).
По-умолчанию 9 (А4).
PaperWidth: byte; Ширина листа бумаги в мм. Используется только при PaperSize = 0!
PaperHeight: byte; Высота листа бумаги в мм. Используется только при PaperSize = 0!
PortraitOrientation: boolean; Ориентация листа (True - портретная, False - альбомная).
По-умолчанию True.
StartPageNumber: integer; Номер первой страницы.
По-умолчанию 1.
SplitVerticalMode: TZSplitMode; Способ разбиения/закрепления колонок. Делает то же самое, что и в LibreOffice Calc команды "Окно - Фиксировать"/ "Окно - Разделить"
По-умолчанию ZSplitNone.
SplitHorizontalMode: TZSplitMode; Способ разбиения/закрепления строк в качестве заголовков.
По-умолчанию ZSplitNone.
SplitVerticalValue: integer; Если SplitVerticalMode = ZSplitFrozen, то кол-во столбцов для закрепления. Если ZSplitSplit, то отступ в пикселях.
По-умолчанию 0.
SplitHorizontalValue: integer; Если SplitHorizontalMode = ZSplitFrozen, то кол-во строк для закрепления. Если ZSplitSplit, то отступ в пикселях.
По-умолчанию 0.
ScaleToPercent: integer; Масштабирование документа в процентах (100 - документ не масштабируется).
По-умолчанию 100.
ScaleToPages: integer; Масштабирование: поместить нужное кол-во страниц на листе (1 - не масштабируется).
По-умолчанию 1.

TZSheetFooterHeader

Наследован от TPersistent. Нижний или верхний колонтитул.

Свойства:
Property Краткое описание
ADataLeft: string; Текст колонтитула слева.
Data: string; Текст колонтитула по центру.
DataRight: string; Текст колонтитула с права.
IsDisplay: boolean; Нужно ли показывать колонтитул.

TZHeaderFooterMargins

Наследован от TPersistent. Отступы колонтитулов.

Свойства:
Property Краткое описание
MarginTopBottom: word; Отступ снизу/сверху для колонтитула в мм.
По-умолчанию 13.
MarginLeft: word; Отступ слева в мм.
По-умолчанию 0.
MarginRight: word; Отступ справа в мм.
По-умолчанию 0.
Height: word; Высота колонтитула в мм.
По-умолчанию 7.
UseAutoFitHeight: boolean; Автоподбор высоты.
По-умолчанию true.

TZRowColOptions

Наследован от TPersistent. Общие настройки столбцов и строк. Предок для TZColOptions и TZRowOptions.

Свойства:
Property Краткое описание
Hidden: boolean; Скрыт ли столбец/строка.
По-умолчанию False (не скрыт).
StyleID: integer; Номер стиля для столбца/строки.
По-умолчанию -1.
Breaked: boolean; Разрыв страницы после строки/столбца.
По-умолчанию False (без разрыва).

TZRowOptions

Наследован от TZRowColOptions. Настройки строки.

Свойства:
Property Краткое описание
AutoFitHeight: boolean; Автоматически увеличивать высоту строки.
Height: real; Высота строки в типографских пунктах (1 пункт = 1/72" = 0.3528 мм).
HeightMM: real; Высота строки в миллиметрах.
HeightPix: real; Высота строки в пикселях.

TZColOptions

Наследован от TZRowColOptions. Настройки столбца.

Свойства:
Property Краткое описание
AutoFitWidth: boolean; Автоматически увеличивать ширину столбца.
Width: real; Ширина столбца в типографских пунктах.
WidthMM: real; Ширина столбца в миллиметрах.
WidthPix: real; Ширина столбца в пикселях.

TZMergeCells

Наследован от TPersistent. Объединённые ячейки.
Свойства:
Property Краткое описание
Count: integer; Количество объединённых ячеек
Read Only!
Items[Num: Integer]: TRect; Возвращает координаты объединённой области Num. (Left, Top) - левая верхняя ячейка, (Right, Bottom) - правая нижняя ячейка.
Num - номер объединённой ячейки.
Read Only!

Методы:
Методы TZMergeCells Краткое описание
function AddRect(Rct: TRect): byte; Добавляет объединённую область/ячейку, заключённую прямоугольником Rct.
Возвращает:
  0 - всё нормально, область добавилась
  1 - указанная область выходит за границы листа
  2 - указанная область пересекается(входит) в введённые ранее области
  3 - область из одной ячейки не добавляет
  4 - попытка объединить фиксированные и не фиксированные ячейки
function AddRectXY(x1, y1, x2, y2: integer): byte; Добавляет объединённую область/ячейку, заключённую прямоугольником (x1, y1, x2, y2). (x1, y1) - левая верхняя ячейка, (x2, y2) - правая нижняя ячейка.
Возвращает тоже, что и AddRect(Rct: TRect).
procedure Clear(); Удаляет все объединённые области/ячейки
function DeleteItem(num: integer): boolean; Удаляет область num.
Возвращает True если область успешно удалена.
function InLeftTopCorner(ACol, ARow: integer): integer; Возвращает номер объединённой ячейки/области, в которой ячейка [ACol, ARow] является левой верхней. Если возвращает отрицательное значение, значит такая область не существует.
function InMergeRange(ACol, ARow: integer): integer; Возвращает номер объединённой ячейки/области, в которую входит ячейка [ACol, ARow]. Если возвращает отрицательное значение - ячейка [ACol, ARow] не содержится в Merge области.

TZStyles

Наследован от TPersistent. Содержит стили документа.

Свойства:
Property Краткое описание
Count: integer; Кол-во стилей в документе.
Items[num: integer]: TZStyle; Стиль num (-1 - DefaultStyle).
DefaultStyle: TZStyle; Стиль по-умолчанию (аналог Items[-1]).

Методы:
Методы TZStyles Краткое описание
function Add(const Style: TZStyle; CheckMatch: boolean = false): integer; Добавляет стиль.
Style - стиль, CheckMatch - проверять ли вхождение данного стиля ранее.
Возвращает номер добавленного (или, если CheckMatch = True, введённого ранее) стиля.
procedure Clear(); Удаляет все стили.
function DeleteStyle(num: integer): integer; Удаляет стиль num, стили с большим номером сдвигаются. num - номер стиля.
Возвращает:
    0 - удалился успешно
   -1 - стиль не удалился
function Find(const Style: TZStyle): integer; Ищет совпадение стиля Style с введёнными стилями.
Возвращает:
   -2 - стиль не найден
   -1 - совпадает со стилем по-умолчанию
    0..Count-1 - номер стиля

TZStyle

Наследован от TPersistent. Стиль ячейки.

Свойства:
Property Краткое описание
Alignment: TZAlignment; Выравнивание ячейки.
BGColor: TColor; Цвет заливки ячейки.
По-умолчанию clWindow.
Border: TZBorder; Рамка ячейки.
CellPattern: TZCellPattern; Шаблон заливки ячейки.
По-умолчанию ZPNone.
Font: TFont; Шрифт.
HideFormula: boolean; Скрывает формулу, если установлено в True.
По-умолчанию False.
NumberFormat: string; Формат числа.
PatternColor: TColor; Цвет шаблона заливки.
По-умолчанию clWindow.
Protect: boolean; Защищена-ли ячейка от редактирования.
По-умолчанию True.

Метод:
function IsEqual(Source: TPersistent): boolean; - Возвращает True, когда стиль совпадает с Source.

TZAlignment

Наследован от TPersistent. Выравнивание в ячейке.

Свойства:
Property Краткое описание
Horizontal: TZHorizontalAlignment; Горизонтальное выравнивание текста в ячейке.
По-умолчанию ZHAutomatic.
Indent: integer; Отступ.
Rotate: integer; Угол поворота текста в ячейке (от -90 до 90).
По-умолчанию 0.
ShrinkToFit: boolean; True - уменьшает размер шрифта, чтобы текст поместился в ячейку.
По-умолчанию False.
Vertical: TZVerticalAlignment; Вертикальное выравнивание текста в ячейке.
По-умолчанию ZVAutomatic.
VerticalText: boolean; True - текст по одной букве в строке вертикально.
По-умолчанию False.
WrapText: boolean; перенос текста.
По-умолчанию False.

Метод:
function IsEqual(Source: TPersistent): boolean; - Возвращает True, когда выравнивание совпадает с Source.

TZBorder

Наследован от TPersistent. Настройка рамок ячейки в стиле.

Свойства:
Property Краткое описание
Border[Num: integer]: TZBorderStyle; Устанавливает рамки ячейки, где num:
  • 0 - Left (левая граница)
  • 1 - Top (верхняя граница)
  • 2 - Right (правая граница)
  • 3 - Bottom (нижняя граница)
  • 4 - DiagonalLeft (диагональ от верхнего левого угла до нижнего правого)
  • 5 - DiagonalRight (диагональ от нижнего левого угла до правого верхнего)
Left: TZBorderStyle; Левая граница рамки.
Top: TZBorderStyle; Верхняя граница рамки.
Right: TZBorderStyle; Правая граница рамки.
Bottom: TZBorderStyle; Нижняя граница рамки.
DiagonalLeft: TZBorderStyle; Диагональ от верхнего левого угла до нижнего правого.
DiagonalRight: TZBorderStyle; Диагональ от нижнего левого угла до правого верхнего.

Метод:
function IsEqual(Source: TPersistent): boolean; - Возвращает True, когда содержимое совпадает с Source.

TZBorderStyle

Наследован от TPersistent. Стиль границы рамки ячейки.

Свойства:
Property Краткое описание
LineStyle: TZBorderType; Стиль линии.
По-умолчанию ZENone.
Weight: byte; Толщина рамки (0-3).
По-умолчанию 0.
Color: TColor; Цвет линии рамки.
По-умолчанию ClBlack.

Метод:
function IsEqual(Source: TPersistent): boolean; - Возвращает True, когда содержимое совпадает с Source.

TZEXMLDocumentProperties

Наследован от TPersistent. Свойства документа.

Свойства:
Property Краткое описание
Author: string; Имя автора документа.
LastAuthor: string; Имя автора последних изменений в документе.
Created: TdateTime; Дата и время создания документа.
Company: string; Имя организации.
ModeR1C1: boolean; Включает адресацию R1C1.
По-умолчанию False.

TZsspXMLWriter

Наследован от TPersistent. Класс-писатель, записывает xml в строку, поток или файл в кодировках CP866 (и ASCII), Windows-1251, UTF-8, UTF-16 (BE и LE). Можно записать в любой другой кодировке (свойство TextConverter).

Свойства:
Property Краткое описание
Attributes: TZAttributes; Атрибуты тэга.
AttributeQuote: ansichar; Кавычки атрибутов (двойные или одинарные).
По умолчанию двойные - ".
Buffer: ansistring; Буфер. (только чтение)
InProcess: boolean; Возвращает True, если ведётся запись. (только чтение)
MaxBufferLength: integer; Размер буфера (>0). Только для чтения при InProcess = True.
По-умолчанию 4096 байт.
NewLine: boolean; True - каждый тэг с новой строки. Только для чтения при InProcess = True.
По-умолчанию True.
TabLength: integer; На сколько знаков табуляции перед каждым уровнем отступает от начала строки новый тэг. Только для чтения при InProcess = True.
По-умолчанию 0.
TabSymbol: ansichar; Символ табуляции (#32 (пробел) или #9 (таб)). Только для чтения при InProcess = True.
По-умолчанию #32.
TagCount: integer; Количество открывающих тэгов до текущего тэга. (только чтение)
Tags[num: integer]: ansistring; Возвращает открытый тэг num. (только чтение)
TextConverter: TAnsiToCPConverter; Устанавливает конвертер текста. Если началась запись - конвертер менять нельзя.
UnixNLSeparator: boolean; Если True, то разделитель строк = #10, иначе - #13#10.

Методы:
Методы TZsspXMLWriter Краткое описание
function BeginSaveToStream(Stream: TStream): boolean; Начать запись в поток Stream.
Возвращает:
 True - запись началась, устанавливает InProcess в True.
 False - запись не возможна.
function BeginSaveToFile(FileName: ansistring): boolean; Начать запись в файл FileName.
Возвращает:
 True - запись началась, устанавливает InProcess в True.
 False - запись не возможна.
function BeginSaveToString(): boolean; Начать запись в строку Buffer.
Возвращает:
 True - запись началась, устанавливает InProcess в True.
 False - запись не возможна.
procedure EndSaveTo(); Закончить запись в строку/файл/поток. Устанавливает InProcess в False.
procedure FlushBuffer(); Принудительно записывает данные из буфера в поток/файл и очищает Buffer.
procedure WriteCDATA(CDATA: ansistring; CorrectCDATA: boolean; StartNewLine: boolean = true); overload; Записать секцию CDATA. CDATA - содержимое секции. CorrectCDATA - при true заменяет в CDATA все вхождения ']]>' на ']]>' StartNewLine - начинать с новой строки (игнорируется, если NewLine = false).
procedure WriteCDATA(CDATA: ansistring); overload; Записать секцию CDATA. CDATA - содержимое секции (CorrectCDATA = true; StartNewLine = true).
procedure WriteComment(Comment: ansistring; StartNewLine: boolean = true); Записать комментарий. Comment - содержимое комментария. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false).
procedure WriteEmptyTag(TagName: ansistring; SAttributes: TZAttributes; StartNewLine: boolean; CheckEntity: boolean = true); overload; Записать пустой тэг. TagName - имя тэга. SAttributes - атрибуты тэга. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CheckEntity - проверяет и корректирует спецсимволы.
procedure WriteEmptyTag(TagName: ansistring; StartNewLine: boolean; CheckEntity: boolean = true); overload; Записать пустой тэг. TagName - имя тэга. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CheckEntity - проверяет и корректирует спецсимволы. Атрибуты берёт из Attributes.
procedure WriteEmptyTag(TagName: ansistring); overload; Записать пустой тэг. TagName - имя тэга. (StartNewLine = True; CheckEntity = True) Атрибуты берёт из Attributes.
procedure WriteEndTagNode(); Записать окончание корневого/узлового элемента.
procedure WriteInstruction(InstructionName: ansistring; SAttributes: TZAttributes; StartNewLine: boolean; CheckEntity: boolean = true); overload; Записать инструкцию (<?instructionname ...?>). InstructionName - имя инструкции. SAttributes - атрибуты. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CheckEntity - проверяет и корректирует спецсимволы.
procedure WriteInstruction(InstructionName: ansistring; StartNewLine: boolean; CheckEntity: boolean = true); overload; Записать инструкцию (<?instructionname ...?>). InstructionName - имя инструкции. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CheckEntity - проверяет и корректирует спецсимволы. Атрибуты берёт из Attributes.
procedure WriteInstruction(InstructionName: ansistring); overload; Записать инструкцию (<?instructionname ...?>). InstructionName - имя инструкции. (StartNewLine = True; CheckEntity = True) Атрибуты берёт из Attributes.
procedure WriteRaw(Text: ansistring; UseConverter: boolean; StartNewLine: boolean = true); Записать необработанный текст. Text - текст, UseConverter - использовать конвертер TextConverter, StartNewLine - начинать с новой строки (игнорируется, если NewLine = false).
ПРЕДУПРЕЖДЕНИЕ: при использовании WriteRaw XML может оказаться некорректным/испорченным!
procedure WriteTag(TagName: ansistring; Text: ansistring; SAttributes: TZAttributes; StartNewLine: boolean; CloseTagNewLine: boolean; CheckEntity: boolean = true); overload; Записать тэг (<tag ...>text</tag>). TagName - имя тэга. SAttributes - атрибуты. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CloseTagNewLine - начинать закрывающий тэг с новой строки. CheckEntity - проверяет и корректирует спецсимволы.
procedure WriteTag(TagName: ansistring; Text: ansistring; StartNewLine: boolean; CloseTagNewLine: boolean; CheckEntity: boolean = true); overload; Записать тэг. TagName - имя тэга. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CloseTagNewLine - начинать закрывающий тэг с новой строки. CheckEntity - проверяет и корректирует спецсимволы. Атрибуты берёт из Attributes.
procedure WriteTag(TagName: ansistring); overload; Записать тэг. TagName - имя тэга. Атрибуты берёт из Attributes. (StartNewLine = True; CloseTagNewLine = False; CheckEntity = True)
procedure WriteTagNode(TagName: ansistring; SAttributes: TZAttributes; StartNewLine: boolean; CloseTagNewLine: boolean; CheckEntity: boolean = true); overload; Записать корневой/узловой элемент. TagName - имя тэга. SAttributes - атрибуты. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CloseTagNewLine - начинать закрывающий тэг с новой строки. CheckEntity - проверяет и корректирует спецсимволы.
procedure WriteTagNode(TagName: ansistring; StartNewLine: boolean; CloseTagNewLine: boolean; CheckEntity: boolean = true); overload; Записать корневой/узловой элемент. TagName - имя тэга. StartNewLine - начинать с новой строки (игнорируется, если NewLine = false). CloseTagNewLine - начинать закрывающий тэг с новой строки. CheckEntity - проверяет и корректирует спецсимволы. Атрибуты берёт из Attributes
procedure WriteTagNode(TagName: ansistring); overload; Записать корневой/узловой элемент. TagName - имя тэга. Атрибуты берёт из Attributes. (StartNewLine = True; CloseTagNewLine = False; CheckEntity = True)

TZsspXMLReader

Наследован от TPersistent. Класс-читатель, читает XML из строки, потока или файла в кодировках CP866 (и ASCII), Windows-1251, UTF-8, UTF-16 (BE и LE).

Свойства:
Property Краткое описание
Attributes: TZAttributes; Атрибуты тэга.
ErrorCode: integer; Возвращает ошибку чтения/обработки тэга. 0 - всё нормально, 1 - значение параметра без кавычек, и т.д. (RO)
IgnoreCase: boolean; При True игнорирует регистр тэгов. Только для чтения при InProcess = True.
По-умолчанию False.
InProcess: boolean; Возвращает True, если идёт обработка XML. (только чтение)
MaxBufferLength: integer; Размер буфера (>=512). Только для чтения при InProcess = True.
По-умолчанию 4096 байт.
RawTextTag: ansistring; Необработанный текст прочитанного тэга. (RO)
TagCount: integer; Количество открывающих тэгов до текущего тэга. (RO)
Tags[num: integer]: ansistring; Возвращает открытый тэг num. (RO)
TagName: ansistring; Возвращает имя прочитанного тэга/инструкции/комментария. (RO)
TagValue: ansistring; Возвращает текст CDATA или комментария. (RO)
TagType: byte; Возвращает тип тэга:
  • 0 - что-то непонятное
  • 1 - <?...?>
  • 2 - <![CDATA[..]]>
  • 3 - <!--..-->
  • 4 - <...>
  • 5 - <.../>
  • 6 - </...>

Методы:
Методы TZsspXMLReader Краткое описание
function BeginReadFile(FileName: ansistring): integer; Начать читать XML из файла FileName.
Возвращает:
  • 0 - всё нормально
  • 1 - данный объект уже работает над чтением
  • 2 - ошибка
  • 3 - Stream = nil
function BeginReadStream(Stream: TStream): integer; Начать читать XML из потока Stream.
Возвращает 0 при отсутствии ошибок.
function BeginReadString(Source: ansistring; IgnoreCodePage: boolean = true): integer; Начать чтение из строки Source. При IgnoreCodePage = True игнорирует кодировку.
Возвращает 0 при отсутствии ошибок.
function ReadTag(): boolean; Читает тэг.
procedure EndRead(); Закончить чтение.
Eof(): boolean; Возвращает True при достижении конца файла/потока/строки.

TZAttributes

Наследован от TPersistent. Построитель атрибутов для тэгов.

Свойства:
Property Краткое описание
Count: integer; Количество атрибутов. (RO)
Items[num: integer]: TZAttrArray; Доступ к паре Атрибут-Значение по номеру num.
ItemsByName[Att: ansistring]: ansistring; Доступ к значению атрибута по его имени Att.
ItemsByNum[num: integer]: ansistring; Доступ к значению атрибута по его номеру num.

Методы:
Методы TZAttributes Краткое описание
procedure Add(AttrName: ansistring; Value: ansistring; TestMatch: boolean = true); overload; Добавляет атрибут с именем AttrName и значением Value. При TestMatch = true проверяет, был ли раннее введёт атрибут AttrName, если был, то меняет значение, иначе добавляет новый атрибут.
procedure Add(Attr: TZAttrArray; TestMatch: boolean = true); overload; Добавить атрибут Attr.
procedure Clear(); Удаляет все атрибуты.
procedure DeleteItem(Index: integer); Удаляет атрибут c номером Index. Атрибуты, стоящие правее удаляемого, сдвигаются на единицу влево.
procedure Insert(Index: integer; AttrName: ansistring; Value: ansistring; TestMatch: boolean = true); overload; Добавляет атрибут AttrName со значением Value в позицию Index.
procedure Insert(Index: integer; Attr: TZAttrArray; TestMatch: boolean = true); overload; Добавляет атрибут Attr в позицию Index.
function ToString(quote: ansichar; CheckEntity: boolean; addempty: boolean): ansistring; overload; Возвращает строку из атрибутов. quote - кавычка для значения атрибута. Если CheckEntity = true, то корректирует спецсимволы в значениях атрибутов. Если addempty = true, то атрибуты с пустыми значениями не добавляются.
function ToString(CheckEntity: boolean): ansistring; overload; Возвращает строку из атрибутов. Если CheckEntity = true, то корректирует спецсимволы в значениях атрибутов. (quote = "; addempty = true)
function ToString(): ansistring; overload; Возвращает строку из атрибутов. (quote = "; CheckEntity = true; addempty = true)

Типы:


Тип данных ячейки
TZCellType = (ZENumber, ZEDateTime, ZEBoolean, ZEansistring, ZEError);

Стиль начертания линий рамки ячейки
TZBorderType = (ZENone, ZEContinuous, ZEDot, ZEDash, ZEDashDot, ZEDashDotDot,ZESlantDashDot, ZEDouble);

Горизонтальное выравнивание
TZHorizontalAlignment = (ZHAutomatic, ZHLeft, ZHCenter, ZHRight, ZHFill, ZHJustify, ZHCenterAcrossSelection, ZHDistributed, ZHJustifyDistributed);

Вертикальное выравнивание в ячейке
TZVerticalAlignment = (ZVAutomatic, ZVTop, ZVBottom, ZVCenter, ZVJustify, ZVDistributed, ZVJustifyDistributed);

Шаблон заливки ячейки
TZCellPattern = (ZPNone, ZPSolid, ZPGray75, ZPGray50, ZPGray25, ZPGray125, ZPGray0625, ZPHorzStripe, ZPVertStripe, ZPReverseDiagStripe, ZPDiagStripe, ZPDiagCross, ZPThickDiagCross, ZPThinHorzStripe, ZPThinVertStripe, ZPThinReverseDiagStripe, ZPThinDiagStripe, ZPThinHorzCross, ZPThinDiagCross);

Конвертер текста из локальной кодировки в нужную
TAnsiToCPConverter = function (AnsiText: ansistring): ansistring;

Конвертер текста из читаемой кодировки в локальную
TCPToAnsiConverter = TAnsiToCPConverter;

Атрибут-значение
TZAttrArray = array [0..1] of ansistring;

Способ разбиения/закрепления строк и столбцов в качестве заголовков.
TZSplitMode = (ZSplitNone, ZSplitFrozen, ZSplitSplit);

Для совместимости с юникодными дельфами (>= RAD Studio 2009) введены:
  • TZAttrArrayH
  • TZAttributesH
  • TZsspXMLWriterH
  • TZsspXMLReaderH
Для Free Pascal-а и Delphi < 2009 они эквиваленты типам без постфикса "H", для юникодных дельфей в этих типах все ansistring заменены на string.

ФайлыГлавнаяСсылкиФотографииАниме

Copyright © 2006-2012 Неборак Руслан Владимирович