Документация HotXLS

Класс TXLSPaginationModel

TXLSPaginationModel строит независимую от вывода последовательность логических страниц для классических диапазонов, листов или книг XLS и современных XLSX

Каждая страница несёт геометрию бумаги, поля, масштаб, полосы строк и столбцов, повторяющиеся заголовки печати, верхние и нижние колонтитулы, политику линий сетки, порядок страниц и размещение рисунков

Методы построения

function Build(Range: IXLSRange): Boolean; overload;
function Build(Worksheet: TXLSWorksheet): Boolean; overload;
function Build(Workbook: TXLSWorkbook): Boolean; overload;
function Build(Range: TXLSXRange): Boolean; overload;
function Build(Worksheet: TXLSXWorksheet): Boolean; overload;
function Build(Workbook: TXLSXWorkbook): Boolean; overload;

Каждый вызов Build очищает предыдущий результат, исключает скрытые листы книги и применяет область печати листа, когда включено свойство UseWorksheetPageSetup is enabled

Члены логической страницы

DocumentPageNumberНомер страницы с отсчётом от 1 по всей книге
SheetPageNumberНомер страницы с отсчётом от 1 внутри принадлежащего листа
PageWidth / PageHeightРазмеры бумаги в пунктах после применения ориентации
MarginsЛевое, правое, верхнее, нижнее, колонтитульное и подвальное поля в пунктах
ScaleРазрешённый масштаб листа или «по размеру страницы» от 0,1 до 4
Rows / RowEdgesФактические строки листа и их координаты страницы сверху вниз
Columns / ColumnEdgesФактические столбцы листа и их координаты страницы слева направо
DrawingsРазмещение изображений, диаграмм, текстовых полей, фигур и элементов управления с обрезкой по странице
PrintCommentsРежим отображения примечаний в постраничном выводе; xpcAtEnd добавляет список примечаний (адрес ячейки, автор и текст) под последней строкой данных на финальной странице листа, тогда как xpcNone omits comments

Рендеринг и метафайлы

RenderPage draws one page into any VCL TCanvas и масштабирует страницу пропорционально в заданные вызывающим границы

RenderPageToBackend draws one page into a TXLSGraphicsBackendрисует одну страницу на любой VCL-объект RenderXlsxCellsToBackend и пропорционально масштабирует страницу в переданные вызывающим кодом границы

CreatePageMetafile возвращает принадлежащий вызывающему коду объект TMetafile, а SavePageAsMetafile записывает одну страницу непосредственно в файл EMF

TXLSPDFExport.CreatePaginationModel возвращает ту же модель, настроенную с параметрами экспортёра по умолчанию для ориентации, полей и высоты строк, и вызывающий код владеет возвращённой моделью

Пример

Pages := TXLSPaginationModel.Create;
try
  if Pages.Build(Workbook) then
    Pages.SavePageAsMetafile(0, 'FirstPage.emf');
finally
  Pages.Free;
end;

См. также