function EvaluateFormulaAt(Row, Col: Integer; const Formula: WideString): TXLSFormulaEvaluationResult; overload; function EvaluateFormulaAt(Row, Col: Integer; const Formula: WideString; ReferenceStyle: TXLSFormulaReferenceStyle; const Options: TXLSFormulaEvaluationOptions): TXLSFormulaEvaluationResult; overload;
xlfrsA1 bewahrt absolute und gemischte Bezüge und löst relative Bezüge von der Zielzelle auf; xlfrsR1C1 löst relative Offsets direkt von dieser Zielzelle aus auf
CELL ohne explizite Referenz untersucht die gelieferte Zielzelle; mit $A$1 wird die feste erste Zelle von jedem Ziel aus untersucht, während A1 sich relativ zu diesem Ziel gemäß dem A1-Kontextvertrag auflöst
CELL-Metadaten und INFO("recalc") funktionieren auch über schreibgeschützte Arbeitsmappenansichten, ohne deren Generation oder gespeicherte Formel-Caches zu ändern; CELL("width",reference) behält sein Ein-Zeile-/Zwei-Spalten-Array, und nicht klassifizierte benutzerdefinierte Formate liefern xlfeUnsupportedFunction statt eines erfundenen Formatcodes; siehe CELL- und INFO-Metadaten für die vollständigen Headless- und Locale-Grenzen
FORMULATEXT untersucht gespeicherte Formel-Metadaten über beide Worksheet-Engines und schreibgeschützte Ansichten hinweg, ohne das untersuchte Ziel zu berechnen; GETPIVOTDATA wertet einen entkoppelten Snapshot des vorhandenen Caches einer lokalen PivotTable aus und beachtet Auswertungsbudgets und Abbruch; fehlende sichtbare Aggregate bleiben typisierte #REF!-Werte, während unvollständige oder nicht unterstützte Pivot-Modelle xlfeUnsupportedFunction liefern; siehe Formeltext-Inspektion und sichtbare Pivot-Daten für Speicher-, Array- und Cache-Grenzen
TXLSFormulaEvaluationResult gibt Status, den ursprünglichen typisierten Value, IsVolatileund einen stabilen Issue -Datensatz mit Status, nativem Code und Meldung zurück
TXLSFormulaEvaluationStatus = (xlfeOk, xlfeInvalidArgument,
xlfeWorksheetUnavailable, xlfeParseError, xlfeUnsupportedFunction,
xlfeCircularReference, xlfeExternalReferenceDenied, xlfeCancelled,
xlfeResourceLimit, xlfeFailed, xlfeUnsafeFunctionDenied);
TXLSFormulaEvaluationIssue = record
Status: TXLSFormulaEvaluationStatus;
NativeCode: Integer;
Message: WideString;
end;
#DIV/0!, #REF!, leere Zeichenfolgen, Arrays, boolesche Werte und Datumsangaben bleiben unterscheidbare Werte; Parserfehler, nicht unterstützte Funktionen, zirkuläre Bezüge, abgelehnte externe Bezüge, abgelehnte unsichere Rückrufe, Abbruch, ungültige Argumente, nicht verfügbare Arbeitsblätter und Erschöpfung der Ressourcen verwenden explizite API-Statuswerte Issue.NativeCode trägt den zugrunde liegenden Fehlercode der Engine und Issue.Message the human-readable description when Status is not xlfeOkfunction CreateFormulaEvaluationTemplate(Row, Col: Integer; const Formula: WideString; ReferenceStyle: TXLSFormulaReferenceStyle): IXLSFormulaEvaluationTemplate;
EvaluateAt und EvaluateAtWithOptions für wiederholte Auswertung an anderen Zielzellen offen
xlfeWorksheetUnavailable und fallen zurück auf eine kontextsensitive Neukompilierung, wenn Arbeitsmappenänderungen den ursprünglichen kompilierten Kontext veraltet machen
| AllowExternalReferences | Ist standardmäßig true, erlaubt aber nur ausdrücklich registrierte Arbeitsbereichsziele oder dateilokale Caches und führt niemals impliziten Datei- oder Netzwerkzugriff durch |
| AllowUnsafeFormulaCallbacks | Ist standardmäßig false und blockiert gefährliche Funktionsnamen, bevor ein Argument ausgewertet wird, damit sie keine Benutzerfunktionsregistrierung oder einen Rückruf erreichen; die Ablehnung gibt xlfeUnsafeFunctionDenied |
| CancelFlag | Optionaler boolescher Zeiger, der vor und nach der Auswertung geprüft wird |
| MaxFormulaLength | Standardmäßig 8192 UTF-16-Codeeinheiten |
| MaxEvaluationSteps | Standardmäßig 1.000.000 Auswertungen von Syntaxelementen |
| MaxRecursionDepth | Standardmäßig 256 verschachtelte Formelauswertungen |
| MaxArrayBytes | Standardmäßig 64 MiB für erzeugte Array-Payloads |
xlfeResourceLimit zurück, nachdem der temporäre Auswertungszustand freigegeben wurde
AllowUnsafeFormulaCallbacks für diesen Aufruf als maßgeblich; die Standard-Einmalauswertung und die Vorlagenauswertung erben die Arbeitsmappeneigenschaft desselben Namens
Template := Sheet.CreateFormulaEvaluationTemplate(2, 2, '=R[-1]C[-1]+1', xlfrsR1C1); Result := Template.EvaluateAt(2, 2); if Result.Status = xlfeOk then UseValue(Result.Value); Options := XLSDefaultFormulaEvaluationOptions; Options.MaxEvaluationSteps := 10000; Result := Template.EvaluateAtWithOptions(20, 4, Options);
Lxcalc::_di_IXLSFormulaEvaluationTemplate evalTemplate =
sheet->CreateFormulaEvaluationTemplate(1, 1,
WideString(L"=ROW()+COLUMN()"), Lxcalc::xlfrsA1);
Lxcalc::TXLSFormulaEvaluationResult result =
evalTemplate->EvaluateAt(7, 8);Die direkte Regular-Expression-Backend-API dokumentiert Matching und Ersetzung pro Instanz, Statuswerte und Aufrufer-Budgets
REGEX-Formeln teilen sich die Work-, Speicher- und Abbruchsteuerung des aktuellen Auswertungskontexts, einschließlich PCRE2-Workspace- und Ausgabeallokationen; Abbruch oder ein Ressourcenlimit liefert einen expliziten Status ohne partielles Extraktions- oder Ersetzungsergebnis
GROUPBY und PIVOTBY fassen entkoppelte Arrays oder Arbeitsblattbereichs-Snapshots im aktuellen Kontext zusammen, einschließlich erfasster Lambda-Umgebungen, Gruppierungsindizes, Callback-Vektoren und Ausgabespeicher; Ressourcenlimits und Abbruch liefern explizite Status, ohne Arbeitsblattdaten, Caches oder Layout zu ändern