Dokumentácia HotXLS

API kompilovaného zostavovania správ

Jednotka lxReport kompiluje zástupné symboly a štrukturálne pásy zostáv raz a potom aplikuje dáta vlastnené volajúcim cez ohraničené kurzory bez opätovného skenovania vytvorených objektov zošita

Kontrakty tabuliek a kurzorov

IXLSReportCursorMoveNext, RowIndex a Values sprístupňujú vždy jeden riadok v smere dopredu
IXLSReportTableName, ColumnCount, ColumnNames a CreateCursor definujú opätovne použiteľný tabuľkový zdroj
IXLSReportRandomAccessTableRowCount a dvojrozmerné Values pridávajú indexovaný prístup používaný spojeniami a relačnými indexmi
IXLSReportTableProviderTryGetTable rieši pomenovanú tabuľku odložene (lenivo)
TXLSReportMemoryTableAddRow, ColumnIndexOf, CreateCursor, ColumnCount, ColumnNames a RowCount poskytujú vlastnenú implementáciu v pamäti
TXLSReportDataContextRegisterTable, AddProvider, TryGetTable, RequireTable, ClearLoadedTables a LoadedTableCount koordinujú okamžité (eager) a odložené zdroje

Riadení poskytovatelia dotazov

IXLSReportQueryExecutor.ExecuteReadOnly ponecháva vykonávanie dotazov vo vlastníctve hostiteľa a prijíma iba definície zaregistrované kódom aplikácie

TXLSReportQueryParameter, TXLSReportQueryParameters a TXLSReportQueryDefinition sprístupňujú Name, CommandText, TimeoutMS, ParameterCount, Parameters, SetParameter a ClearParameters

TXLSReportQueryProvider používa RegisterQuery, RemoveQuery, Clear a TryGetTable, pričom Count, Definitions a MaximumTimeoutMS sprístupňujú zoznam povolených dotazov a strop časového limitu

Relácie a odložené kombinátory tabuliek

TXLSReportRowIndexes a TXLSReportRelationIndex uchovávajú čísla podradených riadkov v kategóriách zložených kľúčov; použite FindChildRows alebo CreateChildCursor a skontrolujte BucketCount alebo IndexedRowCount

TXLSReportAggregateKind, TXLSReportAggregate a TXLSReportJoinKind konfigurujú TXLSReportTableFactory

Definície agregátovCountAggregate, MinAggregate a Aggregate
Projekcia a redukciaTop, Columns, NRows a Min
KompozíciaUnion, Join a Split vracajú odložené pohľady bez kopírovania kompletných medziriadkových dát

Pomenované a explicitné pásy rozsahov

TXLSReportBandKind vyberá rozšírenie riadkov, stĺpcov alebo krížových tabuliek a TXLSReportBandState hlási stav životného cyklu

TXLSCompiledReportBand prijíma pomenovaný názov s presným rozsahom alebo CreateForRange a potom sa rozširuje cez preťaženia Run; DefinedName, ScopeSheetIndex, Kind, Sheet, SheetIndex, FirstRow, FirstCol, LastRow, LastCol, TargetCount a State sprístupňujú kompilovaný plán

TXLSCompiledTableReportBand.Run rozširuje jeden riadok šablóny dát Excel tabuľky pri zachovaní metadát tabuľky; skontrolujte TableName, Sheet, SheetIndex, ExcelTable, TemplateRow a State

TXLSCompiledSheetReportBand.Run vytvára hárky pre jednotlivé záznamy pomocou NameColumn, NamePrefix a DeleteTemplateAfterRun; TXLSCompiledOverflowReportBand.Run vytvára pokračovacie hárky pomocou NamePrefix a DeleteTemplateAfterRun

Šablóny celého zošita

TXLSReportTemplateTarget a TXLSReportTemplateTargets vyberajú bunky, komentáre, hypertextové odkazy, tvary, hlavičky a päty, názvy hárkov, pomenované názvy a vlastnosti dokumentu

TXLSCompiledReportTemplate.Compile zachytáva ciele a výrazy, Analyze vracia adresované TXLSReportIssues, preťaženia Run aplikujú hodnoty a WriteDiagnostics zapisuje problémy do hárka; TargetAreas a TargetCount opisujú kompilovaný povrch

TXLSReportIssueKind, TXLSReportIssue a TXLSReportIssues identifikujú chybný, chýbajúci, neplatný, neznámy alebo cyklický obsah zástupných symbolov so súradnicami cieľov a buniek

Zahrnutia, obrázky a formátovanie

IXLSReportIncludeResolver.Resolve dodáva pomenované fragmenty a jeho príznak Immutable umožňuje bezpečné opätovné použitie; TXLSReportIncludeLibrary poskytuje Add, Remove, Clear, Freeze, Resolve, Count a Immutable

IXLSReportImageProvider.TryGetImage vracia TXLSReportImageValue nakonfigurovaný cez TXLSReportImageFit; TXLSReportMissingImagePolicy riadi chýbajúce prostriedky, zatiaľ čo TXLSReportImageBinder.Apply, MissingPolicy a ClearDirectiveCell aktualizujú presné direktívy obrázkov

TXLSReportDynamicFormat a TXLSReportFormatEvent umožňujú spúšťaču aplikovať číselné formáty, výšky riadkov a šírky stĺpcov pre každý cieľ

Opätovne použiteľné vykonávanie

TXLSReportRunPhase, TXLSReportRunState, TXLSReportRunProgress a TXLSReportRunProgressEvent opisujú hranice priebehu a zrušenia

TXLSCompiledReportRunner sprístupňuje Run, RunToStream, RunToFile a Cancel, pričom ReportTemplate, State, Progress, OnProgress a OnFormat riadia opätovne použiteľné vykonávanie; zlyhaná validácia vyvoláva EXLSReportData pred deterministickým zápisom

Plánovanie, kontrola a migrácia

TXLSReportPaginationPlanner poskytuje plány KeepTogether, SplitRows, MergeSimilar a BalanceColumns pre pevné päty a vyvážený výstup

TXLSReportTemplateChecker poskytuje Check, CheckBand a CheckTableBand; TXLSReportTemplateMigrator poskytuje MigrateText a MigrateWorkbook pre podporované staršie formy zástupných symbolov

Príklad

Table := TXLSReportMemoryTable.Create('Orders', ['Customer', 'Amount']);
Table.AddRow(['A. Datum', 1200]);
Table.AddRow(['Contoso', 950]);
Values := TStringList.Create;
Template := TXLSCompiledReportTemplate.Create(Workbook);
try
  Values.Values['Title'] := 'Quarterly orders';
  Template.Run(Values);
finally
  Template.Free;
  Values.Free;
end;

Pozri tiež