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
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
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
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
De DisplayText-eigenschap van IXLSHyperLink
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