.xlsx) werkmap. Gedeclareerd in
lxHandleX. Bevat een TXLSXSheets
-verzameling en biedt SaveAs / Open -ingangen
voor OOXML-werkmappen, CSV / TSV-import en OpenDocument Spreadsheet
-lees-/schrijfworkflows (.ods)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
xlsxOpenXMLTemplate, xlsxOpenXMLMacroEnabledTemplate, xlsxExcelBinaryWorkbook);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
function SaveAs(const FileName: WideString): Integer; overload;
function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
function SaveAs(Stream: TStream): Integer; overload;
function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function Open(const FileName: WideString): Integer; overload;
function Open(const FileName: WideString; const Password: WideString): Integer; overload;
function Open(Stream: TStream): Integer; overload;
function OpenCSV(const FileName: WideString): Integer; overload;
function OpenCSV(const FileName: WideString; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenCSV(Stream: TStream): Integer; overload;
function OpenCSV(Stream: TStream; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenODS(const FileName: WideString): Integer; overload;
function OpenODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString): Integer; overload;
function SaveAsODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function SaveAsCSV(const FileName: WideString): Integer; overload;
function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsCSV(Stream: TStream): Integer; overload;
function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsRTF(const FileName: WideString): Integer; overload;
function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsRTF(Stream: TStream): Integer; overload;
function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
// AES encryption (ECMA-376 Standard Encryption) write path.
// OpenEncrypted still raises for encrypted packages.
function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
function OpenEncrypted(const FileName, APassword: WideString): Integer;
function CanReadEncrypted(const FileName: WideString): Boolean;
function Calculate(const Formula: WideString): Variant;
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
property AllowUnsafeFormulaCallbacks: Boolean;
// Document properties (docProps/core.xml + docProps/app.xml).
property Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company,
Application, AppVersion: WideString;
property Created, Modified: TDateTime;
// Workbook protection (16-bit legacy hash).
procedure ProtectWorkbook; overload;
procedure ProtectWorkbook(const APassword: WideString); overload;
procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
procedure UnProtectWorkbook;
property IsWorkbookProtected: Boolean;
property LockStructure, LockWindows: Boolean;
// VBA project payload (round-trips byte-for-byte). Workbook is saved
// with macro-enabled content type when HasVbaProject is True.
procedure LoadVbaProjectFromFile(const AFileName: WideString);
procedure ClearVbaProject;
function HasVbaProject: Boolean;
property VbaProjectDefined: Boolean;
property VbaProject: AnsiString;
property ParsedVBAProject: TXLSVBAProject;
// Unknown package and workbook extension preservation
procedure ClearUnsupportedParts;
function UnsupportedPartCount: Integer;
function UnsupportedPartBytes: Int64;
property PreserveUnsupportedParts: Boolean;
// Chart sheet helper — creates a sheet flagged IsChartSheet and
// seeds Charts[0] with a default full-page anchor.
function AddChartSheet(const AName: WideString;
AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
// Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
property StreamingWrite: Boolean;
// Streaming parallel Open path
property ParallelParse: Boolean;
property ParallelParseThreads: Integer;
// Workbook-level collections.
property ActiveSheet: Integer;
property Minimized: Boolean;
property WindowHidden: Boolean;
property ShowHorizontalScroll: Boolean;
property ShowVerticalScroll: Boolean;
property ShowSheetTabs: Boolean;
property XWindow: Integer;
property YWindow: Integer;
property WindowWidth: Integer;
property WindowHeight: Integer;
property TabRatio: Integer;
property FirstSheet: Integer;
property AutoFilterDateGrouping: Boolean;
property Date1904: Boolean;
// Workbook calculation policy
property Iterate: Boolean;
property IterateCount: Integer;
property IterateDelta: Double;
property CalcId: Integer;
property FullCalcOnLoad: Boolean;
property CalcMode: WideString;
property RefMode: WideString;
property ForceFullCalc: Boolean;
property CalcCompleted: Boolean;
property CalcOnSave: Boolean;
property FullPrecision: Boolean;
property ConcurrentCalc: Boolean;
property ConcurrentManualCount: Integer;
function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
AWorkbook: TXLSXWorkbook);
procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
function NearestIndexedColor(AArgb: LongWord;
out AMatch: TXLSNearestIndexedColorMatch): Boolean;
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
function ApplyBiffPalettePlan(
const APlan: TXLSBiffPalettePlan): Boolean;
function HasCustomIndexedColor(Index: Integer): Boolean;
function CustomIndexedColorCount: Integer;
procedure ResetIndexedColors;
property Sheets: TXLSXSheets;
property Fonts: TXLSXFonts;
property Fills: TXLSXFills;
property Borders: TXLSXBorders;
property NumberFormats: TXLSXNumberFormats;
property Alignments: TXLSXAlignments;
property DefinedNames: TXLSXDefinedNames;
property ExternalLinks: TXLSXExternalLinks;
property ExternalWorkspace: TXLSWorkbookWorkspace;
end;
| Sheets | Worksheet collection. Zie TXLSXSheets |
| Fonts | Werkmapbreed lettertypepalet. Cellen kiezen een font door
TXLSXCell.FontIndex in te stellen op een 1-gebaseerde index in deze
verzameling. Zie TXLSXFont / TXLSXFonts |
| Fills | Werkmapbreed vulpalet. Cellen kiezen een vulling door
TXLSXCell.FillIndex in te stellen op een 1-gebaseerde index in deze
verzameling. Zie TXLSXFill / TXLSXFills |
| Borders | Werkmapbreed randpalet. Cellen kiezen een rand door
TXLSXCell.BorderIndex in te stellen op een 1-gebaseerde index in
deze verzameling. Zie TXLSXBorder / TXLSXBorders |
| NumberFormats | Aangepast getalnotatiepalet op werkmapniveau. Cellen
kiezen een opmaak door TXLSXCell.NumberFormatIndex in
te stellen op een 1-gebaseerde index in deze verzameling. Zie
TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | Benoemde bereiken op werkmapniveau (werkmap-scope of sheet-scoped). Zie TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Compileert en evalueert een Excel-formuliereeks tegen het actieve blad, waarbij een voorafgaande = wordt geaccepteerd
Celverwijzingen, bereiken, formules in gerefereerde cellen, verwijzingen tussen bladen, bereiken met gedefinieerde namen en ondersteunde tekst-, datum-, werkdag-, engineering/basisconversie-, bitwise-, statistische, aggregatie- en wiskundefuncties worden geëvalueerd via de gedeelde HotXLS-formule-engine
Zie OnUserFunction om aangepaste of niet-ondersteunde functies af te handelen |
| CreateLoadedCellCursor | Maakt een cursor met constante status over opgeslagen XLSX-waarden en formules, in rij-major-volgorde, met een overload die ook onafhankelijk gestijlde lege cellen als xlckBlankteruggeeft. Sparse blokken en packed storage worden doorlopen zonder de packed-representatie te materialiseren. Zie CreateLoadedCellCursor method |
| CreateReadOnlyView | Maakt een weergave met constante tijd op het gedeelde model, met een lokaal actief werkblad, by-value-momentopnamen, gecachte formuleresultaten, opt-in geïsoleerde formule-evaluatie, directe packed-cell-lezingen, referentieteld levensduur via IXLSXWorkbookOwneren fail-fast schrijfuitsluiting; de IXLSReadOnlyWorkbookView rapporteert ook SheetCount voor aanroepers die werkbladen oplossen zonder het werkmapmodel aan te raken. Zie CreateReadOnlyView method |
| SaveSemanticSnapshot, ComputeSemanticHash | Streamt een geversioneerde canonieke werkmapsemantische representatie of berekent zijn lowercase SHA-256, zonder de volledige snapshot te materialiseren. Zie semantic snapshot and hash methods |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | Wijs atomisch een gevalideerde renderingkalibratie toe, leg een onafhankelijke waarde-momentopname vast voor één bewerking, of herstel de standaardwaarden; de runtime-configuratie wordt niet geserialiseerd en vergroot of verkleint zelf geen werkbladrijen of -kolommen. Zie render calibration values and snapshots |
| CreateRenderGeometry | Maakt een bewerkingseigen geometrie- en lettertypemeetservice met immutabele kalibratie, werkmapgeneratie- en backend-identiteit, plus een begrensd lokaal cachegeheugen; AutoFit legt één service per bewerking vast en paginering één per build, zonder werkbladafmetingen te schrijven. Zie render geometry and font measurement |
| OnUserFunction, OnUserFunctionEx | Callback die door Calculate wordt gebruikt wanneer een
formule een aangepaste of niet-ondersteunde functie aanroept. Zie
OnUserFunction / OnUserFunctionEx callback |
| AllowUnsafeFormulaCallbacks | Staat standaard op false en voorkomt dat gevaarlijke externe functienamen of functienamen in macro-stijl vóór de evaluatie van argumenten bij user-function-handlers terechtkomen. Zie callback safety policy |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Leest xl/workbook.xml en voegt
werkbladnamen toe aan AList in werkmapvolgorde zonder
werkblad-XML te laden. De stream-overload verwacht een complete XLSX-
packagestroom. Retourneert het aantal gelezen namen of
-1 wanneer het package niet kan worden geopend |
| Alignments | Werkmapbreed uitlijningspalet. Cellen kiezen een invoer door
TXLSXCell.AlignmentIndex in te
stellen op een 1-gebaseerde index in deze verzameling. Zie
TXLSXAlignment |
| Document properties | Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company, Application, AppVersion,
Created, Modified. Als je een ervan instelt, wordt
docProps/core.xml + docProps/app.xml bij
SaveAs gevuld (anders houdt de werkmap de minimale set parts aan) |
| ProtectWorkbook / UnProtectWorkbook | Werkmapbeveiligingsschakelaar met optionele
16-bits legacy-wachtwoordhash en de vlaggen LockStructure /
LockWindows-vlaggen. Komt terug als
<workbookProtection> in xl/workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile importeert een ruwe vbaProject.bin-payload; VbaProject stelt de bytes bloot; HasVbaProject en de alleen-lezen VbaProjectDefined geven allebei terug of een payload aanwezig is. Sla op met de extensie .xlsm wanneer Excel macro's moet kunnen inschakelen |
| ParsedVBAProject | Alleen-lezen geparseerde weergave van de huidige
vbaProject.bin-payload. Als de payload een geldige OLE-
VBA-opslag is, geeft deze een TXLSVBAProject terug met module-
namen en brontekst; anders nil. De ruwe
VbaProject payload blijft de leidende bytes die
voor de SaveAs/Open-roundtrip worden gebruikt |
| AddChartSheet(Name, Type, Title) | Maakt een werkblad aan met
IsChartSheet = True en seedt Charts[0]
met een zinvol standaardanker voor een volledige pagina. SaveAs schrijft zulke bladen
naar xl/chartsheets/sheetN.xml. Zie
TXLSXChart |
| ParallelParse | Staat True op: multi-sheet Open streamt
worksheet-ZIP-items direct naar worker-lokale inflaters en XML-readers
Er worden geen opgeblazen staging-kopieën van worksheet-XML bewaard, en
de package-bron is alleen vergrendeld voor elke gepositioneerde lezing. Zet False
om één werkblad tegelijk te parsen. Default is True |
| ParallelParseThreads | Stelt het maximum aantal werkbladstreams in dat
gelijktijdig wordt geparst tijdens Open. Nul kiest het automatische
aantal workers, en positieve waarden stellen een expliciete cap in. Actieve
werksets van inflaters en XML-readers worden door dit aantal begrensd |
| StreamingWrite | Bij True gebruikt SaveAs
WriteWorksheetXmlStreaming per werkblad — er wordt geen
sheetXmls-cache bijgehouden; sharedStrings.xml wordt als laatste
geschreven nadat elk werkblad de SST heeft gevuld. In combinatie met de
per-rij TXLSWideStringBuilder blijft het geheugengebruik lineair op
grote werkbladen. Default is False (bestaand gedrag) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts staat standaard op
True en bewaart onbekende via relaties bereikbare package-parts plus
vreemde declaraties van workbook-root-namespaces, attributen voor
markup-compatibiliteit en complete <extLst>
-payloads op werkmapniveau
tijdens Open en SaveAs. Relatieverwijzingen binnen de bewaarde
extensiepayload worden opnieuw gemapt wanneer gegenereerde id's
conflicteren met de bron. Zet de eigenschap op False vóór Open, of roep
ClearUnsupportedPartsaan, om deze status te verwijderen. De
diagnostiek
UnsupportedPartCount en UnsupportedPartBytes
telt bewaarde package-parts en omvat geen inline
werkmap-XML-metadata |
| PreserveRawParts | Staat standaard op True en laat bestandsgebaseerde SaveAs-bewerkingen één gevalideerd privé-bronarchief openen en vervolgens ongewijzigde theme-, VBA-, connection-, external-link-, image-, chart-, pivot- en via relaties bereikbare opaque items kopiëren met hun oorspronkelijke gecomprimeerde payloads. Geslaagde bestands-opslagen leggen een nieuwe schone basislijn vast voor latere opslagen. Stream-gebaseerde werkmappen, een gewijzigd bronbestand, bewerkte payloads, niet-ondersteunde compressiemethoden en ongeldige gecomprimeerde groottes gebruiken transactionele serialisatie-fallback of weigering |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | ECMA-376 Standard Encryption-schrijfondersteuning
SaveAsEncrypted schrijft een volgens de standaard conformerende AES-128-
container met OLE Compound File voor niet-lege wachtwoorden, met
AES-NI-versnelling wanneer beschikbaar en een portable software-fallback
anders. De versleutelde uitvoer opent in Excel 2007 en later met
het wachtwoord waarmee hij is opgeslagen. CanReadEncrypted herkent
de OLE2-magic-bytes; OpenEncrypted valt voor niet-versleutelde
bestanden terug op gewone Open en geeft nog steeds
EXlsxEncryptionNotImplemented bij versleutelde pakketten
totdat decryptie-ondersteuning landt |
| SaveAs(FileName) | Schrijft de werkmap naar het opgegeven bestand. Geeft
1 terug bij succes, negatief bij fout. Heeft de werkmap geen
werkbladen, dan wordt vóór het schrijven een standaard- Sheet1 toegevoegdDeze overload en SaveAs(FileName, FileFormat) zetten de uitvoer eerst weg voordat de bestemming wordt vervangen
Faalt de vervanging, dan is de retourwaarde -1 en rapporteert LastDiagnostic xlsDiagnosticOutputCommitFailed (1005), de oorspronkelijke Windows-NativeCode en de systeemfoutmelding
De oude bestemming en de FileName van de werkmap blijven ongewijzigd; de tijdelijke uitvoer wordt vrijgegeven, en een latere save wist de vorige diagnose |
| SaveAs(FileName, FileFormat) | Accepteert xlsxOpenXMLWorkbook voor gewone OOXML-uitvoer, xlsxOpenDocumentSpreadsheet voor ODS, xlsxOpenXMLTemplate voor een macrovrije XLTX-sjabloon of xlsxOpenXMLMacroEnabledTemplate voor een XLTM-sjabloon; gebufferde en gestreamde uitvoer wordt voor alle OOXML-keuzes ondersteundSjabloonuitvoer schrijft application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml voor /xl/workbook.xml; gebruik de bestandsextensie .xltx voor bestanden en application/vnd.openxmlformats-officedocument.spreadsheetml.template wanneer het pakket via HTTP wordt aangebodenHet formaat moet expliciet worden gekozen: noch de bestandsextensie, noch een geïmporteerde sjabloon verandert de standaard- SaveAs -uitvoerIs er een VBA-project aanwezig, dan geeft XLTX-uitvoer -1 terug met een diagnostiek voor niet-ondersteund formaat voordat de bestemming wordt geschreven; XLTM behoudt een bestaand VBA-project en accepteert ook een werkmap zonder macro'sSaveAsODS blijft de benoemde snelkoppeling voor ODS-uitvoer met optionele TODSExportOptions -aansturing |
| GetConversionReport / SaveAsChecked | Inspecteer een rapport van bekende-functieconversies dat in beheer van de aanroeper is en niet muteert, of wijs verslechterde en weggelaten features af vóór het schrijven door AllowLossy=False te laten
Expliciet verlieslatend opslaan wijst niet-ondersteunde conversies nog steeds af; zie reken- en conversiefideliteit voor doelen, eigendom, diagnostiek en behoudsgrenzen |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Schrijft de werkmap rechtstreeks naar willekeurige TStream, en de overload met FileFormat accepteert xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplateof xlsxOpenXMLMacroEnabledTemplate voor OOXML-werkmappen, ODS-spreadsheets, XLTX-sjablonen of XLTM-sjablonen in het geheugenGeeft 1 terug bij succes, en streamopslag volgt RecalcBeforeSave: de handmatige modus behoudt bestaande formulecaches, terwijl het dirty- en het always-beleid ze vóór serialisatie verversenDe aanroeper blijft eigenaar van de stream; annulering voordat het schrijven begint, behoudt inhoud en positie, terwijl een fout na het starten van de serialisatie gedeeltelijke uitvoer kan achterlaten |
| Open(FileName) | Leest een OOXML .xlsx-archief en vervangt de
Sheets-verzameling door de inhoud. Retourneert 1
bij succes |
| Open(FileName, Password) | Gereserveerd voor toekomstige ondersteuning van versleutelde XLSX. Gedraagt
zich nu als Open(FileName) — het wachtwoord wordt genegeerd |
| Open(Stream) | Leest een OOXML .xlsx-archief uit een
TStream. Retourneert 1 bij succes |
| OpenCSV(FileName) / OpenCSV(Stream) | Importeert CSV- of TSV-tekst in de werkmap met
automatische scheidingstekendetectie (,, ;,
tab of pipe), BOM-gebaseerde UTF-8/UTF-16-detectie, quoted velden
in RFC 4180-stijl en optionele waarde-type-inferentie via
de ADetectTypes-overloads. Een
Open(FileName)-aanroep op een .csv- of
.tsv-pad routeert automatisch naar deze importeur. Zie
OpenCSV method |
| OpenODS(FileName) / OpenODS(Stream) | Importeert een OpenDocument Spreadsheet(.ods)-package vanuit een bestand of stream. De lezer laadt content.xml, gedeelde stijlinformatie uit styles.xml en weergave-instellingen indien aanwezig, en behoudt bladnamen, scalaire waarden, gecachte formulieresultaten, basisformule-verwijzingsconversie, herhaalde rijen/kolommen/cellen, samengevoegde bereiken, rich text, hyperlinks, opmerkingen, ingesloten afbeeldingen, ingesloten diagrammen, verborgen rijen/kolommen/bladen, rijhoogten, kolombreedtes, overgeërfde/standaardstijlen, getal-/datum-/tijd-/valuta-/wetenschappelijke-/breuknotaties, cel- en bladbeveiligingsstatus, benoemde bereiken, afdrukbereiken, handmatige pagina-einden, bevroren vensters, AutoFilterbereiken, rij-/kolomoutlinegroepen, kop-/voetteksten, datavalidaties inclusief prompts, voorwaardelijke opmaak inclusief formules/kleurschalen/databalken, plus de tabbladkleur van het blad. Volledige OpenFormula-semantiek, ODS-beveiligingssleutels, opmerkingsgeometrie, geavanceerde opmerkingsopmaak en packagefuncties buiten spreadsheetinhoud worden niet geconverteerd |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | Slaat de werkmap op als een geldig OpenDocument Spreadsheet-pakket. Het schrijft de ODF mimetype, manifest, metadata, styles, en werkbladinhoud rechtstreeks weg, met getypeerde waarden, formules, stijlen, rich text, afmetingen, samenvoegingen, hyperlinks, afbeeldingen, diagrammen, benoemde bereiken, AutoFilterbereiken, voorwaardelijke opmaak, datavalidaties, bevroren vensters, pagina-instelling, kop-/voetteksten, afdrukbereiken, handmatige pagina-einden, outlinegroepen, tabbladkleur en bladzichtbaarheid waar die functies in het HotXLS-werkmapmodel zijn vertegenwoordigd. Bij het doorgeven van exportopties, inclusief nil, blijven het normale herberekeningsbeleid, voortgangsannulering, diagnostiek en schrijfbeveiliging gehandhaafd. Bestandsuitvoer zet eerst een bestand ernaast klaar en vervangt de bestemming pas na een geslaagde serialisatie; serialisatiefout en annulering vóór de commit behouden de eerdere bestemming. De schrijfvoortgang meldt elke voltooide tabel, en ppsEnd is een terminale melding waarvan het Abort-verzoek een al voltooide opslag niet meer kan annuleren. Streamuitvoer behoudt het eigendom van de aanroeper en het gewone streamopslaggedrag, waardoor er na het starten van de serialisatie gedeeltelijke uitvoer kan achterblijven |
| TODSExportOptions | Stuurt ODS-export aan. Generator overschrijft de waarde meta:generator in meta.xml; een lege waarde gebruikt de ingebouwde HotXLS-generatorreeks. IncludeCharts en IncludeImages staan standaard op True en verwijderen bij False de bijbehorende tekeningsframes, packageparts en manifestinvoeren samen, zodat de uitvoer geen zwevende diagram- of afbeeldingsverwijzingen bevat. De aanroeper is eigenaar van de optiesinstantie en moet die vrijgeven |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Leest alleen ODS-tabelnamen uit content.xml in AList zonder de werkmap te resetten of te vullen. Gebruik dit wanneer een bestandskiezer of importworkflow de bladnamen nodig heeft vóór het laden van de werkmap |
| SaveAsCSV overloads | Vier overloads (FileName of Stream ×
standaard actief werkblad / expliciete SheetIndex + scheidingsteken). Schrijft het
gekozen blad als een UTF-8-CSV met BOM. Datumwaarden worden weergegeven alsyyyy-mm-dd hh:nn:ss; formulecellen worden berekend vóór
de export, en formuletekst wordt alleen gebruikt wanneer berekening niet beschikbaar is
Retourneert 0 bij succes |
| SaveAsHTML overloads | De overloads met opties accepteren TXLSXHtmlExportOptions voor Title, WriteDocument, IncludeStyles, IncludeBOM en TableClass. Stel WriteDocument in op False voor een tabelfragment; stel IncludeBOM in op False wanneer de uitvoer in een bestaande UTF-8-response wordt ingebed. De geëxporteerde uitvoer bewaart celhyperlinks als <a> anchors en verankerde afbeeldingen als inline data: afbeeldings-URI's; de export op werkmapniveau omvat ankers buiten gevulde cellen. Celopmerkingen worden ook als escaped <td>title attributen weggeschreven, en export op werkmapniveau omvat ook ankers met alleen opmerkingen. Wanneer IncludeStyles is ingeschakeld, worden expliciete ColWidth-waarden als <col>-breedtes weggeschreven en expliciete RowHeight-waarden als <tr>-hoogtestijlen. Rich-text-celruns worden als escaped <span>-elementen weggeschreven met inline lettertype-, kleur-, nadruk- en onderstrepingstijlen wanneer IncludeStyles is ingeschakeld. Celranden worden als CSS border-left-, border-right-, border-top- en border-bottom-regels weggeschreven wanneer IncludeStyles is ingeschakeld. Verborgen rijen en kolommen gemarkeerd met RowHidden / ColHidden, plus expliciete kolommen met nulbreedte, worden overgeslagen in de gegenereerde tabel en <colgroup>. Instellingen voor verticale uitlijning worden als CSS vertical-align-regels weggeschreven wanneer IncludeStyles is ingeschakeld |
| SaveAsRTF overloads | Vier overloads (FileName of Stream ×
standaard actief blad / expliciete SheetIndex). Schrijft het gekozen blad
als RTF 1.6-document met een platte tabel. Kolombreedtes worden
afgeleid uit ColWidth-gegevens (1 teken-eenheid ≈ 96 twips;
standaard 809 twips). Per cel worden vet / cursief / lettergrootte toegepast;
niet-ASCII-tekens worden gecodeerd als signed-16-bit \uN?
RTF-unicode-escapes. Samengevoegde cellen worden niet overbrugd. Geeft 0 terug bij
succes |
| ActiveSheet | 1-based index van het actieve (geselecteerde) werkblad (0 als er geen is), gelijk aan ActiveSheetIndex van de klassieke XLS-engine. SaveAs schrijft activeTab="N" op <workbookView> (het OOXML-attribuut activeTab zelf blijft 0-gebaseerd) wanneer opties voor de werkmapweergave moeten worden geëmitteerd, en markeert het bijbehorende blad met tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Chrome-vlaggen van het werkmapvenster, weggeschreven naar <workbookView>. Minimized schrijft minimized="1", WindowHidden schrijft visibility="hidden", en ShowHorizontalScroll / ShowVerticalScroll verbergen of tonen de werkmapscrollbalken. Open round-trippt alle vier de waarden |
| XWindow / YWindow / WindowWidth / WindowHeight | Geometrie van het werkmapvenster, weggeschreven naar <workbookView>. XWindow en YWindow bewaren de venstoorsprong, WindowWidth en WindowHeight bewaren de grootte. Waarden worden geklemd op 0..65535 en round-trippen bij het laden |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Weergaveopties van het werkmapvenster, weggeschreven naar <workbookView>. ShowSheetTabs verbergt of toont de bladtabbalk, TabRatio stuurt de breedtesplitsing tussen tabbalk en scrollbalk en klemt op 0..1000, FirstSheet kiest de eerste zichtbare tab als 0-gebaseerde bladindex en klemt op een bestaand blad, en AutoFilterDateGrouping stuurt de Exceldatumgroepering in AutoFilter-dropdowns. Open round-trippt alle vier de waarden |
| Date1904 | Basisdatum van de werkmap. False (standaard) =
Windows 1900-epoque; True = Mac 1904-epoque (schuift elke
datumserie 1462 dagen op). Stel dit in vóór het toewijzen van
TDateTime-celwaarden zodat Excel dezelfde
kalenderdatum toont |
| Iterate / IterateCount / IterateDelta | Stuurt iteratieve berekening van circulaire verwijzingen
IterateCount wordt begrensd op 1..32767 en staat standaard op 100.
IterateDelta accepteert niet-negatieve eindige waarden en
staat standaard op 0.001
Niet-standaardlimieten blijven bestaan, ook wanneer Iterate momenteel False |
| CalcMode / RefMode / CalcId | Stuurt de berekeningsmodus van de werkmap, de
referentiestijl van formules en de identiteit van de berekeningsengine
CalcMode accepteert auto,
manualof autoNoTableRefMode accepteert A1 of R1C1
,
met case-insensitive invoer en canonieke uitvoer
Moderne rich-error-uitvoer gebruikt een geëmitteerde CalcId van ten minste
191029 zodat Excel gecachte moderne fouten interpreteert, waarbij hogere
gevraagde waarden behouden blijven en de in-memory property ongewijzigd blijft |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | Stuurt volledige herberekening, voltooiing van
gecachte berekeningen, herberekening vóór het opslaan en het
precisiebeleid
Elke niet-standaardwaarde schrijft en round-trippt zelfstandig het
bijbehorende <calcPr> -attribuut |
| ConcurrentCalc / ConcurrentManualCount | Stuurt gelijktijdige werkmapberekening en de
handmatige hint voor het aantal workers
ConcurrentManualCount wordt begrensd op nul of hoger |
| SourceFormat | Geeft de pakketfamilie terug die door de meest recente geslaagde Open- of OpenODS-aanroep is geladen, met xlsxOpenXMLWorkbook voor OOXML-werkmappen en -sjablonen, inclusief XLTX en XLTM, xlsxOpenDocumentSpreadsheet voor ODS en xlsxExcelBinaryWorkbook voor de ondersteunde XLSB-waarden-en-stijlen-subsetEen nieuw aangemaakte werkmap geeft xlsxOpenXMLWorkbook terug totdat een bestand is geopend, en deze eigenschap kiest niet het uitvoerformaat |
| IndexedColor[Index] | ARGB-waarde voor de opgegeven
OOXML indexed-color-paletslot (0..63). Bij lezen krijg je de gebruikersoverride
indien ingesteld, anders de ingebouwde
OOXML-standaard (XlsxDefaultIndexedPalette)
Schrijven overschrijft slot N; SaveAs emitteert dan een volledig
<indexedColors>-blok met alle 64 slots |
| ResolveIndexedColor | Classificeert publieke kleurindexen, BIFF icv -waarden of OOXML indexed colors en herleidt een genormaliseerde ARGB-waarde zodra het werkpalet of een expliciete system-color-callback er een levert |
| NearestIndexedColor | Geeft de dichtstbijzijnde fysieke palette-entry terug via de gedeelde gecachte OKLab-matcher, zonder het palet of de werkmapstatus te veranderen |
| ScanIndexedColorUsage | Geeft een deterministische inventaris van 56 slots terug met paletkleuren, definitie- en referentietellers, consumenttypes en bewaringsvergrendelingen, zonder cellen te materialiseren of de werkmapstatus te veranderen |
| BuildBiffPalettePlan | Geeft een mutatievrij BIFF-paletplan met 56 slots terug, met vergrendelde slots, geaggregeerde true-color-doelen, deterministische toewijzingen, bronidentiteit en gewogen OKLab-foutstatistiek |
| ApplyBiffPalettePlan | Valideert bronidentiteit, slot-metadata, vergrendelingen en opaque doelen voordat atomisch alle gewijzigde paletitems worden toegepast en de gecachte matcher één keer wordt herbouwd |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) geeft
True terug wanneer slot N expliciet is overschreven
CustomIndexedColorCount geeft het aantal overschreven
slots terug (0 = geen <colors>-blok geëmitteerd door SaveAs)
ResetIndexedColors gooit elke override weg en herstelt
het standaardpalet |
| ExternalLinks | Verzameling van externe werkmapverwijzingen. Elke
TXLSXExternalLink-invoer
bevat een doel-URL en een SheetNames-lijst. SaveAs
emitteert het <externalReferences>-blok in
xl/workbook.xml en de bijbehorende
xl/externalLinks/-parts. Open round-trippt de Target en
SheetNames; gecachte celwaarden in
<sheetDataSet> worden niet bewaard |
| CreateWorkspaceWorkbook | Geeft de herroepbare IXLSWorkspaceWorkbook -adapter voor deze werkmap terug. De adapter bewaart de bronidentiteit en generatie van de werkmap en verbreekt de verbinding voordat het werkmapmodel wordt vernietigd |
| ExternalWorkspace | Thread-veilig, padbewarend register dat wordt gebruikt door live evaluatie van externe formules. Exacte identiteiten en aliassen hebben de voorkeur, dubbelzinnige opzoekingen op basisnaam worden geweigerd, en identiteitsnormalisatie voert geen impliciete bestands- of netwerktoegang uit. Zie Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | Compatibiliteitsfacade over ExternalWorkspace . Registratie mapped een eenduidige opgegeven naam naar het opgeslagen relatiedoel van de werkmap, houdt paden en extensies uit elkaar en weigert botsingen. Uitschrijving verwijdert de gevraagde registratie; vernietiging van het doel herroept de adapter ook veilig |
uses lxHandleX;
var
wb: TXLSXWorkbook;
begin
wb := TXLSXWorkbook.Create;
try
wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
wb.SaveAs('demo.xlsx');
wb.Open('demo.xlsx');
ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
finally
wb.Free;
end;
end;