API za prevedena poročila
Enota lxReport enkrat prevede nadomestne znake in strukturne pasove poročil, nato pa uporabi podatke v lasti klicatelja prek omejenih kazalcev brez ponovnega preiskovanja ustvarjenih objektov delovnega zvezka
Pogodbe tabel in kazalcev
| IXLSReportCursor | MoveNext, RowIndex in Values izpostavijo po eno vrstico, ki jo je mogoče prebirati le naprej |
| IXLSReportTable | Name, ColumnCount, ColumnNames in CreateCursor določajo ponovno uporaben tabelarni vir |
| IXLSReportRandomAccessTable | RowCount in dvodimenzionalni Values dodata indeksiran dostop, ki ga uporabljajo združitve in relacijski indeksi |
| IXLSReportTableProvider | TryGetTable leno razreši poimenovano tabelo |
| TXLSReportMemoryTable | AddRow, ColumnIndexOf, CreateCursor, ColumnCount, ColumnNames in RowCount zagotavljajo lastno izvedbo v pomnilniku |
| TXLSReportDataContext | RegisterTable, AddProvider, TryGetTable, RequireTable, ClearLoadedTables in LoadedTableCount usklajujejo željene in lene vire |
Nadzorovani ponudniki poizvedb
IXLSReportQueryExecutor.ExecuteReadOnly ohranja izvajanje poizvedb v lasti gostitelja in sprejema samo definicije, registrirane s kodo aplikacije
TXLSReportQueryParameter, TXLSReportQueryParameters in TXLSReportQueryDefinition izpostavljajo Name, CommandText, TimeoutMS, ParameterCount, Parameters, SetParameter in ClearParameters
TXLSReportQueryProvider uporablja RegisterQuery, RemoveQuery, Clear in TryGetTable, pri čemer Count, Definitions in MaximumTimeoutMS izpostavljajo seznam dovoljenih in zgornjo mejo časovne omejitve
Relacije in leni kombinatorji tabel
TXLSReportRowIndexes in TXLSReportRelationIndex hranita številke podrejenih vrstic v predalih s sestavljenim ključem; uporabite FindChildRows ali CreateChildCursor ter preverite BucketCount ali IndexedRowCount
TXLSReportAggregateKind, TXLSReportAggregate in TXLSReportJoinKind konfigurirajo TXLSReportTableFactory
| Definicije agregatov | CountAggregate, MinAggregate in Aggregate |
| Projekcija in redukcija | Top, Columns, NRows in Min |
| Sestavljanje | Union, Join in Split vračajo lene poglede brez kopiranja celotnih vmesnih vsebin vrstic |
Pasovi poimenovanih in eksplicitnih obsegov
TXLSReportBandKind izbira razširitev po vrsticah, stolpcih ali navzkrižnih tabelah, TXLSReportBandState pa poroča stanje življenjskega cikla
TXLSCompiledReportBand sprejme definiran sklic natančnega obsega ali CreateForRange in se nato razširi prek preobteženih metod Run; DefinedName, ScopeSheetIndex, Kind, Sheet, SheetIndex, FirstRow, FirstCol, LastRow, LastCol, TargetCount in State izpostavljajo prevedeni načrt
TXLSCompiledTableReportBand.Run razširi eno podatkovno-predložno vrstico Excelove tabele ob ohranjanju metapodatkov tabele; preverite TableName, Sheet, SheetIndex, ExcelTable, TemplateRow in State
TXLSCompiledSheetReportBand.Run ustvari liste za vsak zapis z uporabo NameColumn, NamePrefix in DeleteTemplateAfterRun; TXLSCompiledOverflowReportBand.Run ustvari nadaljevalne liste z uporabo NamePrefix in DeleteTemplateAfterRun
Predloge celotnega delovnega zvezka
TXLSReportTemplateTarget in TXLSReportTemplateTargets izbirata celice, pripombe, hiperpovezave, oblike, glave in noge, imena listov, definirane sklice in lastnosti dokumenta
TXLSCompiledReportTemplate.Compile zajame cilje in izraze, Analyze vrne naslovljene TXLSReportIssues, preobtežene metode Run uporabijo vrednosti, WriteDiagnostics pa zapiše težave na delovni list; TargetAreas in TargetCount opisujeta prevedeno površino
TXLSReportIssueKind, TXLSReportIssue in TXLSReportIssues prepoznajo nepravilno, manjkajočo, neveljavno, neznano ali ciklično vsebino nadomestnih znakov s koordinatami cilja in celice
Vključitve, slike in oblikovanje
IXLSReportIncludeResolver.Resolve dobavlja poimenovane fragmente, njegova zastavica Immutable pa omogoča varno ponovno uporabo; TXLSReportIncludeLibrary ponuja Add, Remove, Clear, Freeze, Resolve, Count in Immutable
IXLSReportImageProvider.TryGetImage vrne TXLSReportImageValue, konfiguriran z TXLSReportImageFit; TXLSReportMissingImagePolicy nadzira manjkajoče vire, TXLSReportImageBinder.Apply, MissingPolicy in ClearDirectiveCell pa posodabljajo natančne direktive slik
TXLSReportDynamicFormat in TXLSReportFormatEvent omogočata poganjalcu, da uporabi številske formate, višine vrstic in širine stolpcev za vsak cilj posebej
Ponovno uporabno izvajanje
TXLSReportRunPhase, TXLSReportRunState, TXLSReportRunProgress in TXLSReportRunProgressEvent opisujejo meje napredka in preklica
TXLSCompiledReportRunner izpostavlja Run, RunToStream, RunToFile in Cancel, pri čemer ReportTemplate, State, Progress, OnProgress in OnFormat nadzorujejo ponovno uporabno izvajanje; neuspelo preverjanje pred determinističnimi zapisi sproži EXLSReportData
Načrtovanje, preverjanje in selitev
TXLSReportPaginationPlanner ponuja načrte KeepTogether, SplitRows, MergeSimilar in BalanceColumns za fiksne noge in uravnotežen izhod
TXLSReportTemplateChecker ponuja Check, CheckBand in CheckTableBand; TXLSReportTemplateMigrator ponuja MigrateText in MigrateWorkbook za podprte oblike zapuščenih nadomestnih znakov
Primer
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;