Questi membri pubblici supportano integrazioni che ispezionano l'I/O, implementano serializzatori o coordinano il calcolo tra più cartelle di lavoro, con i membri del workbook dichiarati in lxHandleX e il grafo del workspace dichiarato in lxDepGraph
Le applicazioni ordinarie dovrebbero usare prima la formattazione delle celle, SaveAs, Recalculate e le API del workspace per i workbook esterni; la registrazione nel pool di stili e la pianificazione del grafo richiedono le stesse convenzioni di indice e durata di vita dei serializzatori e del motore di calcolo della libreria
TXLSXWorkbook.OnReadCell riceve indice del foglio, riga, colonna, valore memorizzato e formula per ogni cella materializzata durante l'analisi XLSX, con un flag Cancel scrivibile; TXLSXWorkbook.OnWriteCell riceve un valore di output scrivibile più flag Skip e Cancel prima che una cella venga serializzata, così un host può trasformare o omettere l'output senza sostituire l'API del workbook con l'API diretta degli stream
Entrambe le callback usano coordinate del foglio e della cella a base uno, e i loro tipi dichiarati sono TXLSXCellReadEvent e TXLSXCellWriteEvent; le callback girano dentro l'operazione di I/O attiva, quindi evita di avviare un'altra operazione sullo stesso workbook da una callback
TXLSXWorkbook.RecoveryMode vale False per impostazione predefinita e permette ai fallimenti supportati dell'analisi dell'XML dei fogli di diventare diagnostiche di avviso mentre l'apertura continua, potenzialmente lasciando solo contenuti di fogli parzialmente recuperati; non garantisce il recupero da un pacchetto ZIP illeggibile, quindi ispeziona la diagnostica e i dati recuperati prima di salvare
TXLSXWorkbook.FireProgress invia fase, stato, conteggio corrente e conteggio totale ai gestori di avanzamento assegnati, con il gestore legacy che riceve le notifiche di lavoro e il gestore esteso che riceve tutti gli stati; un gestore esteso può richiedere l'annullamento, tranne che la notifica di fine scrittura non può invertire un output già effettuato
TXLSXWorkbook.AddDiagnostic aggiunge e restituisce una diagnostica di proprietà del workbook, registra il codice, la gravità, l'operazione, il messaggio, il codice nativo, il contesto del foglio e il nome della parte di pacchetto forniti, copia il nome della classe dell'eccezione quando viene fornita e invoca OnDiagnostic; non prende possesso dell'eccezione né la solleva
function TXLSXWorkbook.AddDiagnostic(ACode: Integer; ASeverity: TXLSDiagnosticSeverity; AOperation: TXLSDiagnosticOperation; const AMessage: WideString; ANativeCode, ASheetIndex: Integer; const ASheetName, APartName: WideString; AException: Exception): TXLSDiagnostic;
TXLSXWorkbook.CSVEmitFormulas vale False per impostazione predefinita e commuta l'output CSV dai risultati delle formule al testo delle formule per le celle con formula; l'output dei risultati tenta la valutazione della formula e ricade sul testo o sul valore memorizzato della cella quando la valutazione fallisce; TXLSXWorkbook.CSVQuoteAllStrings vale False per impostazione predefinita e forza le virgolette attorno ai campi testuali, mentre numeri, date, Boolean, Null ed Empty conservano le normali regole di quotatura
TXLSXWorkbook.LastSaveUsedStreaming riporta se il più recente salvataggio preparato ha usato lo streaming dei fogli di lavoro, mentre TXLSXWorkbook.LastSavePeakRowXmlChars riporta il più grande frammento XML di riga bufferizzato, TXLSXWorkbook.LastSaveBufferedWorksheetXmlChars riporta l'XML combinato dei fogli bufferizzato, e TXLSXWorkbook.LastSavePeakAuxiliaryXmlChars riporta il più grande frammento XML ausiliario tracciato; questi sono conteggi di caratteri dalla strumentazione del serializzatore, non misurazioni totali della memoria del processo, e l'output ODS non usa il percorso di streaming dei fogli XLSX
TXLSXWorkbook.TryCopyPreservedPart tenta di copiare una parte sorgente preservata idonea, compresa la sua rappresentazione compressa, in un TZipArchive di destinazione fornito dal chiamante, restituendo True se copiata o False quando serve la serializzazione normale; la sorgente deve restare disponibile da un'apertura supportata da file, e le parti mancanti o esplicitamente scartate non possono essere copiate
Il chiamante possiede l'archivio di destinazione e deve completarlo normalmente; un fallimento del rollback della copia compressa può comunque sollevare un'eccezione, e questo helper né costruisce un pacchetto completo del workbook né aggiorna le sue relazioni o content type
TXLSXWorkbook.SaveAsEncryptedAgile accetta un nome di file e una password non vuota, serializza in memoria il pacchetto XLSX e scrive il contenitore crittografato Agile, restituendo 1 in caso di successo o -1 su un fallimento segnalato; la VerifyEncryptedSave opzionale esegue un controllo di riapertura dopo la scrittura, e il metodo richiede memoria per il pacchetto non crittografato oltre ai suoi byte serializzati
TXLSXWorkbook.VerifyEncryptedFile apre il file e la password forniti in un workbook temporaneo e restituisce True solo quando quell'apertura riesce, convertendo le eccezioni in False; questo verifica la leggibilità invece di confrontare ogni cella con il workbook corrente, e segue il normale comportamento di OpenEncrypted per un input XLSX non crittografato
TXLSXWorkbook.DocSecurity memorizza il campo di bit esteso delle proprietà del documento: 1 denota protezione da password, 2 raccomandazione di sola lettura, 4 stato di sola lettura imposto, e 8 blocco delle annotazioni; questi bit di metadati non applicano da soli crittografia né restrizioni di accesso
TXLSXWorkbook.DocPropsTouched è il flag in sola lettura usato dai writer delle proprietà del documento per decidere se le proprietà tracciate sono state configurate; lo impostano i setter di proprietà tracciate come Title, mentre i metadati estesi assegnati direttamente non lo impostano automaticamente
TXLSXWorkbook.WorkbookProtectHash espone l'hash legacy di protezione del workbook caricato o generato, normalmente quattro cifre esadecimali o una stringa vuota quando non esiste hash di password; usa i metodi di protezione del workbook per cambiare la protezione invece di assegnare questo valore in sola lettura, e tieni la protezione della struttura del workbook separata dall'archiviazione dei file crittografati
TXLSXWorkbook.ThemeMajorFont e TXLSXWorkbook.ThemeMinorFont espongono i typeface di intestazione e corpo caricati dal tema e ne sovrascrivono i nomi quando viene generato il tema Office predefinito; un tema preservato alla lettera ha precedenza su queste impostazioni dei nomi dei font
TXLSXWorkbook.DefaultTableStyleName e TXLSXWorkbook.DefaultPivotStyleName fanno roundtrip dei nomi predefiniti memorizzati nella tabella degli stili per le nuove tabelle Excel e PivotTable inserite; assegnarli non riformatta direttamente ogni oggetto esistente
TXLSXWorkbook.ResolveTableStyle restituisce uno stile personalizzato di proprietà del workbook per nome, altrimenti risolve e mette in cache gli stili incorporati supportati da TableStyleLight1 a TableStyleLight21, da TableStyleMedium1 a TableStyleMedium28 o da TableStyleDark1 a TableStyleDark11, e restituisce nil per un nome sconosciuto; non liberare lo stile restituito
TXLSXWorkbook.FastStyleAppend vale False per impostazione predefinita e permette alla creazione in blocco di saltare le scansioni di deduplicazione nei pool di stili e la registrazione ordinaria degli stili compositi, scambiando una tabella di stili più grande con inserimenti più rapidi quando vengono creati molti stili distinti
function TXLSXWorkbook.RegisterCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt: Integer): Integer; overload; function TXLSXWorkbook.RegisterCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt, ABuiltinNumFmt: Integer): Integer; overload; function TXLSXWorkbook.RegisterLinkedCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt, AParentXfId: Integer; ALinkedParts: TXLSXFormatParts): Integer;
TXLSXWorkbook.RegisterCompositeXf registra gli indici combinati di font, riempimento, bordo, formato numerico, allineamento e protezione e restituisce l'indice assoluto di cellXfs, non uno slot del pool composito; l'overload a sette argomenti accetta un ID di formato numerico incorporato che ha precedenza sull'indice del formato personalizzato fornito, con zero che significa nessun override
TXLSXWorkbook.RegisterLinkedCompositeXf registra in più l'ID dello style-XF genitore e le parti di formato collegate a quel genitore, mantenendo voci separate per combinazioni diverse di genitore o collegamento; restituisce anche un indice assoluto di cellXfs
TXLSXWorkbook.CompositeXfBase restituisce il primo indice composito assoluto, calcolato dagli attuali pool di stili monodimensionali, mentre TXLSXWorkbook.CompositeXfCount conta le voci composithe registrate; uno slot del pool usato da GetCompositeXf è l'indice assoluto meno la base, e la base può cambiare quando quei pool crescono, quindi questi valori appartengono allo stato di serializzazione corrente
TXLSXWorkbook.RegisterCondDxf registra un riferimento TXLSDxfStyle preso in prestito e restituisce il suo ID di stile differenziale a base zero, riusando un ID esistente per lo stesso riferimento di oggetto; tieni in vita l'oggetto mentre la serializzazione lo usa
TXLSXWorkbook.ResetCondDxfs azzera il conteggio del registro attivo senza liberare gli stili in prestito, e TXLSXWorkbook.CondDxfCount riporta quel conteggio; la preparazione del salvataggio ricostruisce questo registro, quindi non persistere questi ID indipendentemente dal pacchetto in scrittura
TXLSXWorkbook.PivotCaches è la collezione TXLSPivotCaches di proprietà del workbook condivisa dalle PivotTable dei fogli; AddPivotTable riusa una cache sorgente corrispondente o ne crea una, e RefreshPivotCache aggiorna la cache identificata preservando le identità supportate dei membri
TXLSXWorkbook.RecalcThreads vale zero per impostazione predefinita, con zero o uno che usano il ricalcolo seriale e valori maggiori che abilitano la valutazione worker delle frontiere indipendenti di formule; i workbook con array dinamici usano una passata seriale indipendentemente da questa impostazione, i nodi delle tabelle dati what-if restano seriali, e i gestori di funzioni utente usati dai worker devono essere thread-safe
TXLSXWorkbook.SolveCycleIteratively è un punto di ingresso avanzato normalmente invocato da Recalculate quando l'iterazione è abilitata, che consuma indici di nodo dal grafo delle dipendenze corrente di quel workbook e valuta i nodi di ciclo nella TList fornita; gli indici di un grafo del workspace o di un altro workbook non sono intercambiabili
Il solver usa IterateCount e IterateDelta, conserva i valori finali anche se il limite di iterazione viene raggiunto, e restituisce lxOk senza certificare la convergenza; i membri di ciclo ad array dinamico restituiscono lxErrorCircumRef, e l'argomento CycleCount della firma non sostituisce la classificazione dei cicli sui nodi del grafo
TXLSWorkspaceDepGraph memorizza le dipendenze delle formule attraverso identità di cartelle di lavoro e fogli fornite dal chiamante senza aprire cartelle di lavoro né valutare formule; costruisci un grafo dalle formule correnti e dai riferimenti risolti, poi ricostruiscilo dopo modifiche strutturali o di formule che invalidano quei riferimenti
function TXLSWorkspaceDepGraph.AddNode( const AWorkbookIdentity, ASheetName: WideString; ASheetIndex, ARow, ACol, AOutRow2, AOutCol2: Integer; AVolatile: Boolean; AReferences: TXLSWorkspaceDepReferenceList; ARefUnstable: Boolean = False): Integer; procedure TXLSWorkspaceDepGraph.DirtyTopoOrder(AOrder: TList; out ACycleNodeCount, ABlockedNodeCount: Integer);
TXLSWorkspaceDepGraph.AddNode aggiunge un nodo di formula e restituisce il suo indice di nodo a base zero, copiando i riferimenti forniti invece di possedere la loro lista; gli indici dei fogli sono a base uno, mentre le coordinate di riga e colonna, incluso l'angolo in basso a destra del rettangolo di output inclusivo, sono coordinate del calcolatore a base zero
TXLSWorkspaceDepReferenceList.Add aggiunge un record di riferimento risolto a cella, intervallo o nome definito, TXLSWorkspaceDepReferenceList.Items legge quei record per indice a base zero, e TXLSWorkspaceDepReferenceList.Clear azzera la lista per il riuso; il chiamante possiede questa lista di input e può svuotarla o liberarla dopo che AddNode ha copiato le sue voci
TXLSWorkspaceDepGraph.BuildEdges risolve i riferimenti memorizzati a celle e intervalli contro i rettangoli di output delle formule; i riferimenti marcati LookupScan propagano la marcatura dirty ma non impongono un ordine di valutazione né partecipano al rilevamento dei cicli
TXLSWorkspaceDepGraph.NodeIndexOf risolve un workbook, un foglio, una riga e una colonna in un indice di nodo a base zero o -1 quando assente, usando il nome del foglio quando disponibile e l'indice dichiarato del foglio come fallback
TXLSWorkspaceDepGraph.FindDependentsOfDefinedName svuota una TList fornita non nil e la riempie con gli indici dei nodi che riferiscono direttamente al simbolo denominato nel workbook e nell'ambito specificati, con un indice di ambito negativo che corrisponde a tutti gli ambiti; le voci sono codificate come Pointer(NativeInt(NodeIndex)), quindi una voce nil della lista può rappresentare il nodo zero
TXLSWorkspaceDepGraph.BeginDirtyGeneration avvia una nuova generazione, azzera il conteggio attivo dei nodi dirty e i flag di blocco per ciclo e rende inattivi i marcature dirty precedenti; chiamalo prima di marcare i nodi per una nuova passata di ricalcolo
TXLSWorkspaceDepGraph.MarkAllDirty marca ogni nodo nella generazione corrente; TXLSWorkspaceDepGraph.MarkWorkbookDirty semina i nodi appartenenti al workbook identificato e i nodi che lo riferiscono, poi propaga ai dipendenti, mentre TXLSWorkspaceDepGraph.MarkVolatileDirty semina i nodi volatili e TXLSWorkspaceDepGraph.MarkCyclesDirty semina le componenti di ciclo rilevate, propagando anche la loro marcatura dirty
TXLSWorkspaceDepGraph.IsNodeDirty riporta se un nodo valido porta il timbro della generazione corrente e restituisce False per un indice non valido; TXLSWorkspaceDepGraph.DirtyGeneration espone quel timbro e TXLSWorkspaceDepGraph.DirtyNodeCount conta i nodi marcati nella generazione attiva
TXLSWorkspaceDepGraph.DirtyTopoOrder richiede una TList non nil di proprietà del chiamante, la svuota e la riempie con gli indici dei nodi dirty in ordine di dipendenza, escludendo i nodi di ciclo dirty e i nodi bloccati da quei cicli; i suoi due conteggi di output distinguono i membri di ciclo dai nodi a valle bloccati, e le voci della lista usano la stessa convenzione di indice a base zero codificata in pointer
TXLSWorkspaceDepGraph.HasRefUnstable riporta se qualche nodo è stato aggiunto con il flag di riferimento-instabile, che permette al chiamante di evitare di fidarsi di una pianificazione statica non aggiornata quando i riferimenti delle formule possono cambiare al momento della valutazione; il grafo non risolve da solo quei riferimenti mutevoli
TXLSWorkspaceDepGraph.NodeCount conta i nodi di formula, TXLSWorkspaceDepGraph.ReferenceCount conta i riferimenti copiati, e TXLSWorkspaceDepGraph.EdgeCount riporta gli archi di dipendenza costruiti; chiama BuildEdges prima di consumare le statistiche degli archi
TXLSWorkspaceDepGraph.WorkbookCount conta le identità di workbook registrate nel grafo, identità introdotte dai riferimenti comprese, e TXLSWorkspaceDepGraph.WorkbookIdentities le enumera per indice a base zero; queste stringhe di identità sono chiavi del grafo, non la prova che un file esterno sia stato caricato
TXLSWorkspaceDepGraph.ComponentCount riporta il numero di componenti fortemente connesse dopo la costruzione delle componenti, attivata da MarkCyclesDirty, DirtyTopoOrder o dall'accesso alle componenti; ogni record Components fornisce NodeStart, NodeCount e IsCycle
TXLSWorkspaceDepGraph.ComponentNodes espone l'array appiattito degli indici di nodo a base zero per quelle componenti, indicizzato da NodeStart di una componente fino a NodeStart + NodeCount - 1; conteggi e record indicizzati descrivono il grafo corrente e andrebbero riottenuti dopo la ricostruzione del grafo
Continua con i membri aggiuntivi della facciata XLSX e la panoramica della facciata XLSX per i punti di ingresso ordinari del workbook