HotXLS-documentatie

Extra klassieke XLS-API-leden

Deze pagina behandelt openbare klassieke XLS-API-leden die bij lxHandle, lxDataToXLS en lxGridToXLS horen

Berekeningseigenschappen van IXLSWorkbook

property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
      
CalculationMode Bepaalt de rekenmodus van de werkmap die met het bestand wordt opgeslagen
FormulaArrayMemoryLimit Limiteert de payload die gegenereerde matrixformules zoals MUNIT toewijzen, staat standaard op 64 MiB en klemt waarden onder één Double-element vast op die ondergrens
EnableIteration Schakelt iteratieve berekening in voor circulaire formules
MaxIterations Maximaal aantal Gauss-Seidel-passes per sterk samenhangende component van circulaire verwijzingen
MaxIterationChange Maximaal geaccepteerde numerieke delta voordat een component met circulaire verwijzingen stopt met itereren
RecalcOnSave Vraagt herberekening van de werkmap aan wanneer Excel het bestand opslaat
UseFullPrecision Behoudt de volledige formuleprecisie; wanneer uitgeschakeld, worden formule- en What-If-datatabele caches afgerond op hun effectieve numerieke weergaveprecisie voordat afhankelijke cellen ze lezen

Validatie van formule-invoer

property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
  const Formula: WideString): TXLSFormulaEntryValidationResult;
      
Het gedeelde validatiecontract classificeert lege invoer, onbekende functies, onbekende namen, syntaxisfouten, ongeldige coördinaten en formules die het klassieke XLS-doel niet kan weergeven, zonder de werkbladstatus te wijzigen; zie Validatiebeleid voor formule-invoer

Renderkalibratie van IXLSWorkbook

property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
  ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
      
Toewijzing van het record als geheel valideert alle zes velden voordat de werkmap verandert, CaptureRenderCalibration levert een onafhankelijke waarde-snapshot op voor één meet- of exportoperatie, en ResetRenderCalibration herstelt de standaardwaarden 1/1/1/1/100/96
Deze runtime-only configuratie wordt niet geserialiseerd in het XLS-bestand en wijzigt geen rijhoogten of kolombreedten van het werkblad
CreateRenderGeometry kopieert de huidige kalibratie naar een operatie-eigen service en koppelt de cache-identiteit aan de huidige werkmapgeneratie en de gekozen backend; latere kalibratiewijzigingen in de werkmap kunnen een bestaande service niet meer beïnvloeden
Range AutoFit en elke TXLSPaginationModel.Build-aanroep leggen de werkmapkalibratie één keer vast; AutoFit is de enige consument die met opzet gepaste afmetingen terugschrijft, terwijl paginering elke opgeslagen rijhoogte en kolombreedte onaangetast laat

Documenteigenschappen van IXLSWorkbook

property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
      
Deze eigenschappen lezen en schrijven de samenvattingsinformatievelden van de werkmap die met het klassieke XLS-bestand worden opgeslagen

De Close-methode van IXLSWorkbook

function Close: Integer;
      
Sluit het werkmapprobject en geeft de door de werkmap beheerde inhoud vrij die door het klassieke XLS-objectmodel wordt vastgehouden

Eigenschappen voor het laden van alleen metadata van IXLSWorkbook

property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
      
MetadataOnly Leest, wanneer gezet vóór Open, alleen werkmapmetadata en bladbeschrijvingen en slaat celgegevens over
SelectedSheets Lijst met bladnamen die geladen moeten worden wanneer de werkmap wordt geopend; een lege lijst laadt elk blad
IncompleteLoad True na Open wanneer celgegevens zijn overgeslagen omdat MetadataOnly of SelectedSheets werd gebruikt
Een werkmap die met MetadataOnly of een niet-lege SelectedSheets is geopend, kan niet worden opgeslagen; Save geeft een fout totdat de werkmap opnieuw is geopend zonder die opties

Ingeklapte status van TXLSColumnInfo

property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
      
Collapsed legt de BIFF-kolomoutlinemarker bloot, onafhankelijk van Hidden en OutlineLevel. De lijstindex is een nulgebaseerde klassieke XLS-kolomindex. Ontbrekende kolommen lezen als False, en het toewijzen van False aan een ontbrekende kolom wijst geen metadata toe. Kopieën van kolomopmaak, werkbladkopieën en opslaan-en-heropenen-cycli behouden de marker
De onderliggende opslagaccessors zijn openbaar voor low-level inspectie van de werkmap. TXLSRowInfo rapporteert MinCol en MaxCol (de gedekte, op 1 gebaseerde kolomspan), CustomHeight en CustomFormat (of er een expliciete hoogte of XF-index is opgeslagen) en XFIndexSet; TXLSColumnInfo.isEqual vergelijkt twee kolommetadata-items veld voor veld
TXLSColumnInfoList legt ColCount, MinCol, MaxCol, StdWidth en MaxOutlineLevel bloot voor grens- en standaardbreedtediagnostiek, CalcMaxOutLineLevel herberekent het gecachte maximale outlineniveau na directe metadatawijzigingen, CopyColFormat kloont één kolomitem naar een andere index, DeleteCol verwijdert een item, en FindNextColToStore loopt door opgeslagen items voor schrijvers van BIFF COLINFO-records en rapporteert de volgende span via de uitvoerparameters MinCol / MaxCol

Outline-knoopmethoden van TXLSWorksheet

function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
      
Deze methoden zetten klassieke rij- en kolommetadata om naar het gedeelde sparse-outlinemodel, leiden de gevraagde samenvattingsknoop af uit de bijbehorende outline-richting en passen gecomprimeerde hidden- en collapse-wijzigingen toe zonder ongebruikte werkbladcoördinaten te doorzoeken
ANodeIndex is de fysieke samenvattingsrij of -kolom op basis van 1, ADisplayLevel volgt de op 1 gebaseerde outline-knopconventie, en xocPreserve houdt geneste collapse-markers van onderliggende knooppunten standaard onafhankelijk
Zie Sparse-outlinegeometrie voor knoopvelden, child-modi, voorbeelden en complexiteitsgaranties

Deelvenster- en afdruktitelmethoden van TXLSWorksheet

function ThawPanes(Y, X: Single; RowTop, ColLeft: Word): Integer;
function SplitPanes(Width, Height: Single): Integer;
function UnsplitPanes: Integer;
function GetSelectedAreas(APane: TXLSPanePosition; out ActiveAreaIndex: Integer): TXLSSelectedAreas;
function SelectAreas(APane: TXLSPanePosition; const Areas: array of WideString; ActiveAreaIndex: Integer = 0): Boolean;
function TryGetWindowScroll(APane: TXLSPanePosition; out ARow, ACol: Integer): Boolean;
function ScrollWindow(APane: TXLSPanePosition; ARow, ACol: Integer): Boolean;
function RepeatRows(FirstRow, LastRow: Word): Integer;
function RepeatColumns(FirstCol, LastCol: Word): Integer;
      
ThawPanes, SplitPanes en UnsplitPanes beheren de status van gesplitste deelvensters, terwijl RepeatRows en RepeatColumns de afdruktitelrijen of -kolommen voor het werkblad instellen
GetSelectedAreas en de deelvenster-eerste SelectAreas-overload bieden het gedeelde selectiecontract voor logische deelvensters zoals beschreven in Werkbladdeelvensterselecties
Opeenvolgende BIFF-selectierecords voor één deelvenster vormen één logische groep, bewerkte groepen worden weggeschreven in blokken van ten hoogste 1369 gebieden, en werkbladkopieën behouden elke deelvenstergroep
Rij- en kolomwijze structurele bewerkingen wijzen elke geldige deelvenstergroep opnieuw toe, waarbij de geordende overgebleven gebieden en de identiteit van het actieve gebied behouden blijven, met deterministische opvolgers, voorgangers en grenscelfallbacks
Misvormde of tegenstrijdige selectierecords blijven onleesbaar, worden bij het opslaan byte-voor-byte gereplayd en melden xlsDiagnosticSelectionRecordInvalid in plaats van een gedeeltelijk vertrouwde getypeerde status bloot te geven
TryGetWindowScroll en ScrollWindow tonen het gedeelde scrollcontract met vier deelvensters op basis van 1, waarbij de bovenste en linker assen naar Window2 worden afgebeeld en de onderste en rechter assen naar Pane

Getypeerde gegevensvalidatiemethoden van TXLSWorksheet

function AddWholeNumberValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDecimalValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDateValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTimeValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTextLengthValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddCustomValidation(ARange: WideString; const AFormula: WideString): TDataValidation;
      
Elke helper maakt een getypeerde gegevensvalidatieregel voor ARange en retourneert de gemaakte TDataValidation-instantie, zodat de opties voor prompt, fout en lege cellen kunnen worden aangepast

Draaitabelleden van TXLSWorksheet

property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
      
Gebruik AddPivotTable om een getypeerde draaitabel uit een bronbereik te maken en gebruik vervolgens PivotTables en PivotSetDataFieldFormat om het gegenereerde model te inspecteren of op te maken. Zie Klassieke XLS-draaitabel-API

Arrayformule- en begrenzingsleden van IXLSRange

function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
      
SetArrayFormula kent een arrayformule toe aan het bereik. FirstRow, LastRow, FirstCol en LastCol geven de opgeslagen op 1 gebaseerde bereikgrenzen weer, terwijl XFIndex de effectieve klassieke XLS-opmaakindex voor het bereik retourneert

Overdrachtshelpers van IXLSRange

procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
      
PasteFrom past celinhoud van een ander klassiek XLS-bereik toe met de geselecteerde plakmodus. ShiftTo herpositioneert een bereikobject, terwijl ExtendRange en ContractRange de opgeslagen rechthoek aanpassen vóór bereikbewerkingen die uitgebreide of genormaliseerde grenzen nodig hebben

Rij- en kolombereikinterfaces van IXLS

interface IXLSRowsRange = interface(IXLSRange)
  property Item[Row: Integer]: IXLSRowRange;
  property Hidden: OleVariant;
  property Count: LongWord;
  procedure AutoFit(Columns: Boolean = False);

interface IXLSRowRange = interface(IXLSRange)
  property Item[Col: Integer]: IXLSColRange;
  property Hidden: OleVariant;
  property Count: LongWord;
  procedure AutoFit(Columns: Boolean = False);

interface IXLSColsRange = interface(IXLSRange)
  property Item[Col: Integer]: IXLSColRange;
  property Hidden: OleVariant;
  property Count: LongWord;
  procedure AutoFit(Columns: Boolean = True);
  procedure Group(Rows: Boolean = False);
  procedure UnGroup(Rows: Boolean = False);
  property OutlineLevel: Integer;

interface IXLSColRange = interface(IXLSRange)
  property Item[Row: Integer]: IXLSRowRange;
  property Hidden: OleVariant;
  property Count: LongWord;
  procedure AutoFit(Columns: Boolean = True);
  procedure Group(Rows: Boolean = False);
  procedure UnGroup(Rows: Boolean = False);
  property OutlineLevel: Integer;
      
IXLSRowsRange, IXLSRowRange, IXLSColsRange en IXLSColRange worden geretourneerd door IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow en IXLSRange.EntireColumn. Ze behouden het normale IXLSRange-bewerkingsoppervlak en voegen tegelijkertijd geïndexeerde rij- of kolomtoegang, beheer van de verborgen status, tellingen, automatisch aanpassen en overzichtsgroepering toe waar de richting van het bereik dit ondersteunt
property DisplayText: WideString;
      
DisplayText leest of wijzigt de zichtbare tekst die Excel voor een klassieke XLS-hyperlink toont, los van het doeladres en de schermtip

ID-koppelingseigenschappen van TXLSWorksheets

property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
      
Deze alleen-lezen opzoekeigenschappen leggen verband tussen de interne blad-ID, de huidige werkbladindex en de zichtbare werkbladnaam. Ze zijn handig bij het behouden van formules, gedefinieerde namen of records die naar bladen verwijzen via opgeslagen id's in plaats van via de huidige tabvolgorde

De eigenschap SheetTypeRaw van TXLSWorksheet

property SheetTypeRaw: Byte;
      
SheetTypeRaw behoudt de ruwe klassieke XLS-BoundSheet8.dt-waarde tijdens het laden en opslaan van werkmappen, zodat macro-, VBA-, werkblad-, dialoog- en andere bladtype-records kunnen round-trippen zonder te worden afgevlakt tot een standaard werkbladtab

Geavanceerde afdrukeigenschappen van IXLSPageSetup

property PrintNotesAtEnd: Boolean;
property UseFirstPageNumber: Boolean;
property FirstPageNumber: Integer;
property PrintCellErrors: LongWord;
property PrintResolution: LongWord;
property PrintVResolution: LongWord;
property Copies: LongWord;
property HasSetupRecord: Boolean; read only
property PrinterSettingsInitialized: Boolean; read only
property PrinterDriverData: TBytes;
property HasPrinterDriverData: Boolean; read only
procedure ClearPrinterDriverData;
      
Deze eigenschappen behouden geavanceerde pagina-instellingskeuzes zoals opmerkingen die aan het einde worden afgedrukt, een aangepast eerste paginanummer, de weergave van afgedrukte celfouten, printerresolutie en het aantal exemplaren
HasSetupRecord rapporteert of een geladen klassiek XLS-werkblad een BIFF Setup-record bevat, terwijl PrinterSettingsInitialized rapporteert of papierformaat, schaal, oriëntatie, resolutie en aantal exemplaren door dat record zijn gedefinieerd
Het opslaan van een ongewijzigd werkblad behoudt een ontbrekend Setup-record en een bestaand record byte-voor-byte; het wijzigen van een pagina-instellingsveld maakt het record indien nodig aan, en het wijzigen van een printerafhankelijk veld initialiseert de printerinstellingen
PrinterDriverData leest of vervangt de ondoorzichtige BIFF PLS-printerdriverpayload, HasPrinterDriverData onderscheidt een afwezige payload, en ClearPrinterDriverData verwijdert deze zonder getypeerde pagina-instellingsvelden te wijzigen
Getter- en setter-bytearrays worden gekopieerd, zodat aanroepers en werkbladkopieën onafhankelijk eigendom hebben; klassieke payloads moeten de vereiste gereserveerde prefix van twee bytes bevatten en mogen niet groter zijn dan 1 MiB
SaveXLSWorkbookAsXLSX neemt getypeerde pagina-instellingswaarden en de ondoorzichtige printerdriverpayload onafhankelijk van elkaar mee naar het XLSX-model; getypeerde standaardvelden blijven leidend wanneer privé-driverbytes dubbele printerstandaarden bevatten

Tekenseteigenschappen van IXLSFont

property CharSet: Byte;
property Family: Byte;
      
CharSet en Family geven de klassieke XLS-tekenset- en -familiebytes van het lettertype weer voor aanroepers die locatie-specifieke lettertypemetadata moeten behouden

De Abort-methoden van TDataToXLS en TGridToXLS

procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
      
Roep Abort aan vanuit exportgebeurtenishandlers wanneer een lopende dataset- of rasterexport vóór voltooiing moet stoppen

Klassieke XLS-referentiehulpfuncties

function GetCellRef(Cell: String; var Row, Col: Word): Integer;
function GetCellRange(CellRange: String; var StartRow, StartCol, EndRow, EndCol: Word): Integer;
function EncodeCellRef(Row, Col: Word): String;
function EncodeCellRange(StartRow, StartCol, EndRow, EndCol: Word): String;
function Width2Excel(Value: Single): Word;
function Excel2Width(Value: Word): Single;
function Height2Excel(Value: Single): Word;
function Excel2Height(Value: Word): Single;
function ColIndexToColName(Index: Integer): String;
function ColNameToColIndex(Name: String): Integer;
      
Deze helpers zetten klassieke A1-referenties, bereiken, kolomlabels, rij- of kolomafmetingen en Excel-opslageenheden om die door het klassieke XLS-objectmodel worden gebruikt