HotXLS-documentatie

TXLSWorkbookViewer Component

TXLSWorkbookViewer is een VCL-besturingselement dat werkbladen van beide werkmap-engines weergeeft zonder Microsoft Excel of COM-automatisering

Werkmapbronnen

Navigatie

Het besturingselement biedt horizontale en verticale schuifbalken, scrollen met het muiswiel, muisselectie, pijltjestoetsen en navigatie via Home, Page Up, Page Down en Tab

GoToCell selecteert een rij en kolom, SelectRange selecteert een rechthoek, NextWorksheet en PreviousWorksheet wisselen van werkblad, en SelectedRange stelt de genormaliseerde A1-verwijzing bloot

Bewerken en berekening

Zet Editable op True om bewerken via F2, dubbelklik, afdrukbare toetsen, Delete en de formulebalk toe te staan; vergrendelde cellen op een beveiligd werkblad blijven alleen-lezen

BeginEdit, CommitEdit en CancelEdit sturen de in-place editor, terwijl EditSelectedCell en FormulaBarText een externe formulebalk ondersteunen

Vastgelegde bewerkingen herkennen formules, booleans, integers, drijvende-kommawaarden, tekst en lege invoer, herberekenen daarna afhankelijke formules en maken de caches voor voorwaardelijke opmaak en paginering ongeldig

Undo en Redo gebruiken een begrensde circulaire geschiedenis met O(1)-gedrag; stel UndoLimit in om de capaciteit te bepalen, of op nul om de geschiedenis uit te schakelen

Delete of ClearSelectedRange wist de selectie als één transactie; Ctrl+C en CopySelectedRange kopiëren Unicodetekst met tabscheidingstekens, terwijl Ctrl+V, PasteSelectedRange en PasteText een rechthoekig tekstblok plakken op de linkerbovenhoek van de selectie, met één undo-entry

Beschermings- en structurele preflight weigert een volledig geblokkeerd bereik vóór mutatie; undo en redo behouden native rich text, formulecaches, stijlen en afwezige cellen in beide modellen, met dezelfde beschermingscontrole bij elke geschiedenispoging

Bestaande array-formules, datatabelgebieden en multicel-plakken die een samenvoeging raken worden geweigerd; bewerkingen van een enkele samengevoegde anker cel en het wissen van hele samenvoegingen behouden de samenvoegingsgeometrie, terwijl gedeeltelijk wissen van samengevoegde bereiken wordt geweigerd

De gedeelde engine TXLSWorkbookEditHistory kan ook zonder een control worden geïnstantieerd; zie headless bewerkingstransacties voor de regels voor coördinaten, levensduur, berekening en operatielimieten

Formuleverwijzingen selecteren

Roep BeginReferencePick aan terwijl een formule-editor van de host een werkbladverwijzing verzamelt; elke selectiewijziging vuurt OnReferencePick af met het huidige A1-bereik, tot EndReferencePick wordt aangeroepen

Weergave

De viewer maakt gebruik van de kolombreedtes, rijhoogtes en opgemaakte weergavetekst van elk werkblad, rendert klassieke effen opvullingen en lettertypestyling, en biedt configureerbare kopteksten, rasterlijnen en selectiekleuren

Voor XLSX-werkbladen rendert de viewer ook voorwaardelijke vullingen, fontkleuren en -nadruk, getalnotaties, kleurschalen, directionele positieve en negatieve databalken, verlopen, randen, assen, verborgen waarden en alle ingebouwde icon-set-families

De viewer cachet één voorbereide evaluator voor voorwaardelijke opmaak per actief werkblad, zodat scrollen en hertekenen van selecties de werkmap niet opnieuw scannen; roep RefreshConditionalFormats aan na het wijzigen van waarden, formules, bereiken of voorwaardelijke regels in een gekoppelde werkmap

XLSX-rendering controleert sparse cellen en interval-stijloverlays zonder lege coördinaten te indexeren, waardoor scrollen geen zichtbare lege cellen materialiseert of werkbladopslag uitbreidt

Afdrukvoorbeeld

Zet PrintPreview op True om het actieve werkblad te tonen via het gedeelde TXLSPaginationModel dat ook door de PDF-pagineometrie en -telling wordt gebruikt

PreviewPage is op 1 gebaseerd en wordt begrensd op PreviewPageCount; de opdrachten pijl, Page Up, Page Down, Home, End, muiswiel en verticaal scrollen navigeren door logische pagina’s zolang het voorbeeld actief is

PaginationModel stelt het gecachte model bloot, SavePreviewPageAsMetafile schrijft de geselecteerde logische pagina als EMF, en RefreshPagination bouwt de cache opnieuw op na wijzigingen aan waarden, afmetingen, afdrukinstellingen, einden, titels of tekeningen

Gebeurtenissen

Delphi-voorbeeld

Viewer := TXLSWorkbookViewer.Create(Self);
Viewer.Parent := Self;
Viewer.Align := alClient;
Viewer.XlsxWorkbook := Workbook;
Viewer.Editable := True;
Viewer.SelectRange(2, 1, 5, 3);
Caption := Viewer.SelectedRange;
Viewer.GoToCell(2, 3);
Viewer.FormulaBarText := '=A1*2';
Viewer.Undo;
Viewer.Redo;
Viewer.RefreshConditionalFormats;
Viewer.PrintPreview := True;
Viewer.PreviewPage := 1;
Viewer.SavePreviewPageAsMetafile('Preview.emf');
Viewer.GoToCell(12, 4);
Caption := Viewer.WorksheetName + ': ' + Viewer.SelectedCellText;

Zie Demo\Delphi\WorkbookViewer voor een volledige tijdens runtime gemaakte viewer met functies voor het openen van bestanden en werkbladbesturingselementen