Questa pagina copre i membri API XLS classici pubblici che appartengono a lxHandle, lxDataToXLS e lxGridToXLS
Proprietà di calcolo di IXLSWorkbook
property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
| CalculationMode |
Controlla la modalità di calcolo del workbook salvata insieme al file |
| FormulaArrayMemoryLimit |
Limita il payload allocato dagli array di formula generati come MUNIT, il valore predefinito è 64 MiB, e vincola i valori inferiori a un elemento Double |
| EnableIteration |
Abilita il calcolo iterativo per le formule circolari |
| MaxIterations |
Numero massimo di passate Gauss-Seidel per ogni componente fortemente connessa di riferimenti circolari |
| MaxIterationChange |
Delta numerico massimo accettato prima che una componente con riferimenti circolari smetta di iterare |
| RecalcOnSave |
Richiede il ricalcolo del workbook quando Excel salva il file |
| UseFullPrecision |
Mantiene la piena precisione delle formule; quando è disabilitata, le cache delle formule e delle tabelle dati What-If vengono arrotondate alla loro effettiva precisione numerica visualizzata prima che le celle dipendenti le leggano |
Validazione dell'immissione delle formule
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
Il contratto di validazione condiviso classifica input vuoto, funzioni sconosciute, nomi sconosciuti, errori di sintassi, coordinate non valide e formule che non possono essere rappresentate dal target XLS classico senza modificare lo stato del foglio di lavoro; vedi
Criteri di validazione dell'immissione delle formule
Calibrazione di rendering di IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
L'assegnazione dell'intero record valida tutti e sei i campi prima di modificare il workbook, CaptureRenderCalibration restituisce uno snapshot di valore indipendente per una singola operazione di misura o esportazione, e ResetRenderCalibration ripristina i valori standard 1/1/1/1/100/96
Questa configurazione solo a runtime non viene serializzata nel file XLS e non modifica le altezze di riga o le larghezze di colonna del foglio di lavoro
CreateRenderGeometry copia la calibrazione corrente in un servizio di proprietà dell'operazione e lega la sua identità di cache alla generazione corrente del workbook e al backend selezionato; successive modifiche alla calibrazione del workbook non possono alterare un servizio esistente
L'AutoFit degli intervalli e ogni chiamata a TXLSPaginationModel.Build catturano la calibrazione del workbook una sola volta; l'AutoFit è l'unico consumatore che scrive intenzionalmente le dimensioni adattate, mentre l'impaginazione preserva ogni altezza di riga e larghezza di colonna memorizzata
Proprietà del documento di IXLSWorkbook
property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
Queste proprietà leggono e scrivono i campi delle informazioni di riepilogo del workbook salvati con il file XLS classico
Metodo Close di IXLSWorkbook
function Close: Integer;
Chiude l'oggetto workbook e rilascia il contenuto di proprietà del workbook trattenuto dal modello a oggetti XLS classico
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly |
Se impostata prima di Open, legge solo i metadati del workbook e i descrittori dei fogli, saltando i dati delle celle |
| SelectedSheets |
Elenco dei nomi dei fogli da caricare all'apertura del workbook; un elenco vuoto carica ogni foglio |
| IncompleteLoad |
True dopo Open quando i dati delle celle sono stati saltati perché era in uso MetadataOnly o SelectedSheets |
Un workbook aperto con MetadataOnly o con un
SelectedSheets non vuoto non può essere salvato; Save solleva
un errore finché il workbook non viene riaperto senza queste opzioni
Stato compresso di TXLSColumnInfo
property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
Collapsed espone il marcatore di struttura delle colonne BIFF indipendentemente da Hidden e OutlineLevel. L'indice dell'elenco è un indice di colonna XLS classico a base zero. Le colonne mancanti si leggono come False, e assegnare False a una colonna mancante non alloca metadati. Le copie del formato di colonna, le copie del foglio di lavoro e i cicli di salvataggio e riapertura preservano il marcatore
Le funzioni di accesso all'archiviazione sottostante sono pubbliche per l'ispezione del workbook a basso livello. TXLSRowInfo riporta MinCol e MaxCol (l'intervallo di colonne coperto, a base uno), CustomHeight e CustomFormat (se è memorizzata un'altezza esplicita o un indice XF) e XFIndexSet; TXLSColumnInfo.isEqual confronta due voci di metadati di colonna campo per campo
TXLSColumnInfoList espone ColCount, MinCol, MaxCol, StdWidth e MaxOutlineLevel per la diagnostica di limiti e larghezza predefinita, CalcMaxOutLineLevel ricalcola il livello massimo di struttura memorizzato nella cache dopo modifiche dirette ai metadati, CopyColFormat clona una voce di colonna su un altro indice, DeleteCol rimuove una voce, e FindNextColToStore scorre le voci memorizzate per i writer di record BIFF COLINFO, riportando l'intervallo successivo nei parametri out MinCol / MaxCol
Metodi dei nodi di struttura di 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);
Questi metodi adattano i metadati classici di righe e colonne al modello di struttura sparsa condiviso, derivano il nodo di riepilogo richiesto dalla sua direzione di struttura e applicano modifiche compresse di visibilità e compressione senza esplorare coordinate inutilizzate del foglio di lavoro
ANodeIndex è la riga o colonna di riepilogo fisica a base uno, ADisplayLevel segue la convenzione a base uno dei pulsanti di struttura, e xocPreserve mantiene per impostazione predefinita indipendenti i marcatori di compressione dei nodi figlio annidati
Metodi dei riquadri e dei titoli di stampa di 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 e UnsplitPanes controllano lo stato dei riquadri suddivisi, mentre RepeatRows e RepeatColumns impostano le righe o le colonne dei titoli di stampa per il foglio di lavoro
I record di selezione BIFF consecutivi per un solo riquadro formano un unico gruppo logico, i gruppi modificati vengono scritti in blocchi di al massimo 1369 aree, e le copie del foglio di lavoro conservano ogni gruppo di riquadri
Le modifiche strutturali a intere righe e colonne rimappano ogni gruppo di riquadri valido preservando l'ordine dei superstiti e l'identità dell'area attiva, con successore, predecessore e celle di confine di fallback deterministici
I record di selezione malformati o contraddittori restano opachi, vengono riprodotti byte per byte al salvataggio e riportano xlsDiagnosticSelectionRecordInvalid invece di esporre stato tipizzato parzialmente affidabile
TryGetWindowScroll e ScrollWindow espongono il contratto condiviso di scorrimento a base uno dei quattro riquadri, mappando gli assi superiore e sinistro su Window2 e quelli inferiore e destro su Pane
Metodi di convalida dei dati tipizzati di 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;
Ogni helper crea una regola tipizzata di convalida dei dati per ARange e restituisce l'istanza TDataValidation creata, così è possibile regolare le opzioni di messaggio, errore e gestione dei valori vuoti
Membri delle tabelle pivot di TXLSWorksheet
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
Usa
AddPivotTable per creare una tabella pivot tipizzata da un intervallo di origine, poi usa
PivotTables e
PivotSetDataFieldFormat per ispezionare o formattare il modello generato. Vedi
API delle tabelle pivot XLS classiche
function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
SetArrayFormula assegna una formula matrice all'intervallo. FirstRow, LastRow, FirstCol e LastCol espongono i limiti memorizzati a base 1 dell'intervallo, mentre XFIndex restituisce l'indice di formato XLS classico effettivo per l'intervallo
Helper di trasferimento di IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
PasteFrom applica il contenuto delle celle di un altro intervallo XLS classico usando la modalità di incolla selezionata. ShiftTo riposiziona un oggetto intervallo, mentre ExtendRange e ContractRange regolano il rettangolo memorizzato prima delle operazioni sugli intervalli che richiedono limiti ampliati o normalizzati
Interfacce degli intervalli di righe e colonne 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 e IXLSColRange vengono restituiti da IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow e IXLSRange.EntireColumn. Mantengono la normale superficie di modifica di IXLSRange aggiungendo l'accesso indicizzato alle righe o alle colonne, il controllo dello stato di visibilità, i conteggi, l'adattamento automatico e il raggruppamento con struttura dove la direzione dell'intervallo lo supporta
IXLSHyperLink DisplayText proprietà
property DisplayText: WideString;
DisplayText legge o modifica il testo visibile che Excel mostra per un collegamento ipertestuale XLS classico, separatamente dall'indirizzo di destinazione e dal suggerimento a schermo
Proprietà di mappatura ID di TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
Queste proprietà di ricerca di sola lettura mettono in corrispondenza l'ID interno del foglio, l'indice corrente del foglio di lavoro e il nome visibile del foglio di lavoro. Sono utili quando si preservano formule, nomi definiti o record che si riferiscono ai fogli tramite identificatori memorizzati invece dell'ordine corrente delle schede
TXLSWorksheet SheetTypeRaw proprietà
property SheetTypeRaw: Byte;
SheetTypeRaw preserva il valore grezzo BoundSheet8.dt XLS classico durante il caricamento e il salvataggio dei workbook, così i record di tipo foglio macro, VBA, foglio di lavoro, finestra di dialogo e altro possono fare round-trip senza essere appiattiti in una scheda di foglio di lavoro standard
Proprietà di stampa avanzate di 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;
Queste proprietà preservano le scelte avanzate di impostazione di pagina come i commenti stampati alla fine, un numero di prima pagina personalizzato, il rendering stampato degli errori delle celle, la risoluzione della stampante e il numero di copie
HasSetupRecord riporta se un foglio di lavoro XLS classico caricato contiene un record BIFF Setup, mentre PrinterSettingsInitialized riporta se le sue dimensioni carta, scala, orientamento, risoluzione e numero di copie sono definite da quel record
Il salvataggio di un foglio di lavoro non modificato preserva l'assenza di un record Setup e copia byte per byte un record esistente; la modifica di un campo di impostazione pagina crea il record quando serve, e la modifica di un campo dipendente dalla stampante inizializza le impostazioni della stampante
PrinterDriverData legge o sostituisce il payload opaco del driver di stampante BIFF PLS, HasPrinterDriverData distingue un payload assente, e ClearPrinterDriverData lo rimuove senza modificare i campi tipizzati di impostazione pagina
Gli array di byte di getter e setter vengono copiati, così i chiamanti e le copie del foglio di lavoro hanno una proprietà indipendente; i payload classici devono includere il prefisso riservato obbligatorio di due byte e non possono superare 1 MiB
SaveXLSWorkbookAsXLSX porta nel modello XLSX in modo indipendente i valori tipizzati di impostazione pagina e il payload opaco del driver di stampante; i campi standard tipizzati restano autorevoli quando i byte privati del driver contengono predefinite della stampante duplicate
Proprietà del set di caratteri di IXLSFont
property CharSet: Byte;
property Family: Byte;
CharSet e Family espongono i byte del set di caratteri e della famiglia dei caratteri XLS classici per i chiamanti che devono preservare metadati dei font specifici della lingua
Metodo Abort di TDataToXLS e TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
Chiama Abort dai gestori di evento di esportazione quando un'esportazione di dataset o di griglia in corso deve essere interrotta prima del completamento
Funzioni helper di riferimento XLS classiche
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;
Questi helper convertono i riferimenti A1 classici, gli intervalli, le etichette di colonna, le dimensioni di righe e colonne e le unità di archiviazione Excel usate dal modello a oggetti XLS classico