HotXLS Belgeleri

Ek kitaplık API üyeleri

Bu sayfa, birincil çalışma kitabı, çalışma sayfası, işleme, içe aktarma, tanılama ve görüntüleyici API'lerini destekleyen ancak ayrı bir göreve yönelik kılavuz gerektirmeyen genel türler için başvuruyu tamamlar

Filtreleme ve koşullu biçimlendirme

TXLSAutofilterAdd, AddAutofilterData, AssignFrom, Clearve ParseAutofilterData filtre tanımını düzenler veya içe aktarır; SetRangeBounds(ARow1, ACol1, ARow2, ACol2) yüklenmiş ölçütleri veya açılır liste şekillerini kaldırmadan 1 tabanlı kapsayıcı sınırları geri yükler ve pozitif-olmayan ya da ters çevrilmiş sınırları ile yüklenen alanlardan farklı sütun sayısını yok sayar; Defined, FirstRow, FirstCol, LastCol, LastRowve FieldCount etkin sınırlarını ve filtrelenen sütun sayısını açığa çıkarır
TXLSAutofilterItemShape , öğeyle ilişkili filtre düğmesi çizimini açığa çıkarır; yüklenen filtre ölçütü ise inceleme veya Roundtrip düzenlemesi için bir TXLSAutofilterDOPER işlenen kaydı olarak kullanılabilir — DataType işlenen biçimini seçer, grbitSgn ise işaret ve bayrak bitlerini taşır
TXLSDataBarSpecAxisColor, AxisIsThemeColor, AxisThemeColorId, AxisThemeColorTintve ClearAxisThemeColor ekseni denetler; Direction, GradientFill, NegativeBarBorderColorSameAsPositive, NegativeBarColor, NegativeBarColorSameAsPositiveve NegativeBorderColor çubuk görünümünü denetler; IsIndexedColor, IndexedColorIndexve ClearIndexedColor palet indeksli çubuk rengini yönetir
TXLSIconSetSpecThresholdEqualsInclude her simge eşiği için kapsayıcı ya da kapsayıcı olmayan karşılaştırma seçer
TXLSCfValueIsIndexedColor ve IndexedColorIndex eski palet indeksi olarak saklanan bir eşik rengini bildirir, ClearIndexedColor bu biçimi yeniden kaldırır; tema veya sabit renkler mevcut erişiciler aracılığıyla kullanılabilir kalır

TXLSCfValue, TXLSDataBarSpec, TXLSColorScaleSpec, TXLSIconSetSpecve TXLSDxfStyle , kural nesnesini sahip çalışma kitabına bağlayan ve düzenlemelerin bir yazma koruyucusunu otomatik olarak edinmesini sağlayan AttachWriteGuardOwnerkabul eder; sahip, tek bir TXLSCondFormatWriteGuardOwneryöntemiyle kurala çalışma kitabının yazma koruyucusunu veren AcquireWriteGuard arayüzünü uygular. TXLSDxfStyle , palet indeksli kural renkleri için FontColorIndex ile birlikte FontColorIsIndexed ile FillFgColorIndex / FillFgColorIsIndexed ve FillBgColorIndex / FillBgColorIsIndexed çiftlerini; diferansiyel yazı tipi geçersiz kılmaları olan FontName, FontSizeve FontScheme 'i (boş dize, bir punto boyutu veya major / minorgibi bir tema yazı tipi yuvası) ise mevcut kalın, italik, altı çizili ve renk üyelerinin yanına ekler; her atama yazma koruyucusunu edinir ve kuralı yeniden yazım için kirli işaretler

TXLSConnections, TXLSDataTablesve TXLSQueryTables expose OnAcquireWriteGuard üyesini açığa çıkarır (türler TXLSConnectionAcquireWriteGuard, TXLSDataTableAcquireWriteGuardve TXLSQueryTableAcquireWriteGuard); bu kanca, düzenleme yollarının değişiklik yapmadan önce sahip çalışma kitabının IXLSWorkbookWriteGuard nesnesini edinmesini ve ardından çalışma kitabı jenerasyonunu ilerletmesini sağlar; koruyucu StartGenerationdeğerini kaydeder, Complete ise yazmayı tamamlanmış olarak işaretleyerek bağımlı önbelleklerin yeniden derlenebilmesini sağlar

Korunan veri bağlantıları türlenmiş bir tanım taşır: TXLSConnectionKind (xlckUnknown, xlckOdbc, xlckDao, xlckFile, xlckWeb, xlckOleDb, xlckText, xlckAdo) bağlantıyı sınıflandırır, TXLSConnectionCredentials (xlccIntegrated, xlccNone, xlccStored, xlccPrompt) kimlik doğrulama modunu kaydeder ve her bağlantı parametresi değeri TXLSConnectionParameterValueKind (xlcpvNone, xlcpvBoolean, xlcpvDouble, xlcpvInteger, xlcpvString, xlcpvCell) ile etiketlenir. What-if veri tabloları, saklanan tanım türlerini TXLSDataTableKind

What-if veri tabloları ve özet gruplama

TXLSDataTableAssign, ContainsCellve IsRoot bir tabloyu kopyalar ve inceler; Kind, FirstRow, FirstCol, LastCol, LastRow, AlwaysCalculate, ColumnInputCol, ColumnInputRow, ColumnInputDeleted, RowInputCol, RowInputRowve RowInputDeleted saklanan hesaplama tanımını açığa çıkarır
TXLSDataTablesAdd, AddExisting, Delete, Clear, Assign, AdjustForShiftve Offset koleksiyonu yönetir; FindByCell ve FindRoot belirli bir hücreyi içeren ya da kökü olan tabloyu bulur; Count, Itemsve OnChange koleksiyon durumunu açığa çıkarır
TXLSPivotCacheFieldGroupBaseField ve GroupParentField gruplanmış bir alan ile kaynak ya da üst alan arasındaki ilişkileri açığa çıkarır

Simge kümesi eşikleri programatik olarak çizilebilir ya da doğrulanabilir: XLSCfIconSetCount bir TXLSIconSetType değerinin kaç simge tanımladığını bildirir; XLSBuildCfIconGeometry ise tek bir simgeyi çizen ilkel öğeleri ( TXLSCfIconGeometry , türTXLSCfIconPrimitive: TXLSCfIconPrimitiveKind, cfipPolygon, cfipEllipse, cfipRect) ve noktaları ( cfipLine) birTXLSCfIconPointiçine doldurur; böylece özel işleyiciler Excel'in yerleşik simge şekilleriyle eşleşir

Tanılama, formül izleme ve doğrulama

TXLSDiagnosticCode, NativeCode, Message, Severity, ExceptionClass, PartName, RecordId, SheetIndex, SheetNameve StreamOffset tek bir ayrıştırıcı, yazıcı veya paket tanılamasını tanımlar
TXLSDiagnosticsAdd bir tanılama ekler, Clear koleksiyonu sıfırlar; Count ve Items girdilerini numaralandırır
TXLSDiagnosticSeverity and TXLSDiagnosticOperationTXLSDiagnosticSeverity (xlsDiagnosticInfo, xlsDiagnosticWarning, xlsDiagnosticError, xlsDiagnosticFatal) tek bir tanılamayı sınıflandırır; TXLSDiagnosticOperation (xlsOperationNone, xlsOperationOpen, xlsOperationSave, xlsOperationCalculate, xlsOperationExport) ise onu üreten aşamayı adlandırır. OnDiagnostic işleyicileri her ikisini de teslim edilen TXLSDiagnostic
TXLSFormulaDebugSessionCurrentStep, DependencyCount, NodeCountve StepCount geçerli hata ayıklayıcı anlık görüntüsünü ve iz boyutlarını açığa çıkarır
TXLSFormulaTracerStepCount kaydedilen değerlendirme adımlarının sayısını bildirir
TXLSImportCheckAddRule, AddUniqueRule ve AddCrossColumnRule sütun yüklemlerini, bileşik benzersizliği ve türlü karşılaştırmaları yapılandırır; Check, saklanan çalışma sayfası değerlerinden ve formül önbelleklerinden yeniden hesaplama veya paketlenmiş hücre somutlaştırması olmadan yapılandırılmış ihlaller döndürür; HeaderRow, FirstRow, LastRow, OnVerifyCell, ViolationCount ve Violation sınırları, callback'leri ve sonuçları açığa çıkarır; Annotate ve KeepOnlyViolations açık düzeltme çalışma kitabı işlemleridir; türler, sınırlar, tarih sistemleri, küme kimliği ve hata davranışı için içe aktarma doğrulama şemaları bölümüne bakın

İçe aktarma doğrulama şemaları

lxImportCheck ünitesindeki TXLSImportCheck, bir TXLSXWorksheet'i uygulamanın sahipliğindeki kurallara göre doğrular; saklanan skaler değerleri ve saklanan formül sonuçlarını inceler, 1 tabanlı çalışma sayfası koordinatları kullanır ve örtük metin-sayı, metin-tarih veya metin-Boolean dönüşümü yapmaz

Validator := TXLSImportCheck.Create;
try
  Validator.HeaderRow := 1;
  Rule := Validator.AddRule(2);
  Rule.Name := 'quantity';
  Rule.Flags := [irRequired, irValueType, irValueRange];
  Rule.ValueKind := ivkInteger;
  Rule.MinimumValue := 1;
  Rule.MaximumValue := 1000;

  Validator.AddUniqueRule([1, 3]).Name := 'account-and-region';
  Validator.AddCrossColumnRule(4, 5, icLessOrEqual).Name := 'start-before-end';
  FailureCount := Validator.Check(Sheet);
  if FailureCount > 0 then
    Validator.Annotate(Sheet, 'Import validator');
finally
  Validator.Free;
end;

HeaderRow > 0 denetimi bir sonraki satırda başlatır ve FirstRow'a öncelik alır; aksi hâlde FirstRow varsayılan 1'dir; LastRow = 0 çalışma sayfasının son kullanılan satırını kullanırken pozitif bir LastRow, hücreleri oluşturmadan yok olan hücreleri de kapsayabilir; sütunlar 1 ile 16.384 arasında, etkin veri satırı sınırları ise 1 ile 1.048.576 arasında olmalıdır

Sütun kuralları ve açık türler

TlxImportColumnRuleColumn, Flags, Name, Title, MinLength, MaxLength, Pattern, ValueKind ve DateSerialMode tek bir sütunu yapılandırır; MinimumValue, MaximumValue, HasMinimum, HasMaximum, MinimumInclusive ve MaximumInclusive sınırları yapılandırır; Validate şema yapılandırmasını denetler, PreparePattern ise regex'i hazırlar; iki Check aşırı yüklemesi, hata iletisiyle ve isteğe bağlı bir TlxImportViolationKind ile Boolean döndürür
TlxImportRuleFlagsirRequired, irTextLength, irPattern, irUnique ve irCallback mevcut denetimlerini korur; irValueType ValueKind'i etkinleştirir, irValueRange ise yapılandırılmış sınırları; bayrağı olmayan bir sütun denetlenmez
TlxImportValueKindivkAny desteklenen sonlu skaler değerleri kabul eder, ivkNumber sonlu sayısal Variant'ları kabul eder, ivkInteger ayrıca tam sayı değeri gerektirir, ivkDate tarih Variant'larını veya açıkça etkinleştirilmiş Excel serial'lerini kabul eder, ivkBoolean Boolean Variant gerektirir, ivkText ise dize Variant gerektirir
TlxImportDateSerialModeidsNone varsayılandır ve sayısal değerleri tarihlerden ayrık tutar; idsExcel1900 ve idsExcel1904, irValueType ile ValueKind = ivkDate kullanan bir sütun için sayısal değerleri açıkça yorumlar

AddRule(Column) o sütuna ait önceki kuralı değiştirip serbest bırakır; değer başına tür, aralık, uzunluk ve desen yüklemleri eksik değerleri, null'ları ve boş dizeleri atlar; irRequired ise bunları bildirir; benzersizlik, aşağıda açıklanan ayrı politikaları korur; boş olmayan whitespace bir değer olarak kalır; bir sayı Boolean sayılmaz, bir tarih sıradan bir sayı sayılmaz ve sayı görünüşlü bir dize metin olarak kalır

MinimumValue veya MaximumValue atamak o sınırı etkinleştirir; HasMinimum veya HasMaximum'dan herhangi biri onu yeniden devre dışı bırakabilir; her iki kapsayıcılık anahtarı da varsayılan True'dur; sınırlar sonlu türlü sayılar veya tarihler olmalıdır ve iki sınır karşılaştırılabilir olup boş olmayan bir aralık tanımlamalıdır; ters çevrilmiş, eksik, uyumsuz veya boş sınırlar, çalışma sayfası doğrulaması başlamadan hata fırlatır

Sayı sınırları sayısal değerleri, tarih sınırları tarihleri karşılaştırır; tam sayıdan tam sayıya karşılaştırmalar tüm Int64 ve UInt64 bitlerini korur; uyumsuz kategorideki değerler aralık denetimini geçemez; metin uzunluğu ve regex yüklemleri skalerin metin gösterimini incelemeye devam eder ve regex denetimleri mevcut IsMatch davranışını korur; bu nedenle metnin tamamı eşleşecekse ^...$ gibi çapalar kullanın; geçersiz bir regex, uyumluluk için kendi desen denetimini devre dışı bırakır

Tarih biçimli Excel değerleri

Excel'den içe aktarılan bir hücre, sayı biçimi tarih gösterse bile sayısal bir serial içerebilir; kabul edilen içe aktarma şeması buysa serial modunu açıkça seçin; mod yalnızca doğrulamayı etkiler ve saklanan hücre değerini asla değiştirmez

Rule := Validator.AddRule(4);
Rule.Flags := [irRequired, irValueType, irValueRange];
Rule.ValueKind := ivkDate;
if Sheet.Workbook.Date1904 then
  Rule.DateSerialMode := idsExcel1904
else
  Rule.DateSerialMode := idsExcel1900;
Rule.MinimumValue := VarFromDateTime(EncodeDate(2026, 1, 1));
Rule.MaximumValue := VarFromDateTime(EncodeDate(2026, 12, 31));

VarFromDateTime Variants içinde, EncodeDate ise SysUtils içinde tanımlıdır; sayısal serial'ler negatif olmalı ve 10.000 yılının 1 Ocak'ından önce çözülmelidir; kesirli serial'ler günün saatini korur; 1900 sistemi 60 dahil ile 61 hariç arasındaki her serial'i reddeder çünkü bu aralık kurgusal artık günü belirtir; 1904 sistemi ise serial sıfırı 1 Ocak 1904'e eşler

Tarih sınırları günün saatini içerir; dolayısıyla 31 Aralık gece yarısına ayarlanan bir üst sınır o günün sonraki saatlerini dışlar; son günün tamamının kabul edilmesi gerekiyorsa izleyen yılın 1 Ocak'ında kapsayıcı olmayan bir üst sınır kullanın; 10/08/2026 gibi metinsel tarihler, yapılandırılan serial modundan bağımsız olarak metin olarak kalır

Bileşik benzersizlik ve sütunlar arası karşılaştırmalar

AddUniqueRule(const AColumns: array of Integer): TlxImportUniqueRuleSıralı, boş olmayan bir ayrık sütun listesi üzerinde bağımsız bir küme kısıtı ekler; Name kuralı tanımlar, Title iletisini öne ekler, ColumnCount ve 0 tabanlı Columns[Index] üyelerini açığa çıkarır ve SkipIncompleteRows varsayılan True'dur
AddCrossColumnRule(ALeftColumn, ARightColumn: Integer; AComparison: TlxImportComparison): TlxImportCrossColumnRuleSalt okunur LeftColumn ve RightColumn ile düzenlenebilir Comparison, Name, Title ve varsayılan True olan SkipBlankValues taşıyan aynı satır karşılaştırması ekler
TlxImportComparisonicEqual, icNotEqual, icLess, icLessOrEqual, icGreater ve icGreaterOrEqual ilişkiyi seçer; sayı çiftleri ve tarih çiftleri değerlerini karşılaştırır, Boolean çiftleri False'ı True'dan önce sıralar, dize çiftleri ise büyük/küçük harf duyarlı UTF-16 kod ünitelerini sıralı karşılaştırır

Bileşik anahtarlar her üyenin tam Variant türünü ve metin kimliğini korur; Integer(1), Double(1), '1' dizesi, bir Boolean ve bir tarih ayrı üyelerdir; büyük/küçük harf katlama, Unicode normalleştirme, yerel ayar ayrıştırma veya ayırıcı belirsizliği yoktur; ('ab', 'c') ve ('a', 'bc') gibi kombinasyonlar farklı kalır; her doğrulama geçişi taze bir küme indeksi başlatır

SkipIncompleteRows = True olduğunda eksik, null veya boş dize üyesi o satırı küme benzersizliğinden dışlar; False yapmak bu üyeleri özgün Variant kimlikleriyle dahil eder; bir kopya, küme sütununu hücre adresi olarak bildirir ve ilk eşleşen satırı FirstDuplicateRow üzerinden bildirir

Mevcut tek sütunlu irUnique, metin tabanlı büyük/küçük harf duyarsız eşleştirme davranışını korur ve eksik veya null değerleri atlar; tek bir sütun için katı türlü kimlik gerekiyorsa AddUniqueRule([Column]) kullanın

Sütunlar arası karşılaştırmalar dizeleri sayılara, sayıları Boolean'lara veya sıradan sayıları tarihlere asla zorlamaz; uyumsuz karışık kategoriler icNotEqual için bile geçersiz kalır; dize karşılaştırmaları oluşmuş ve ayrışmış Unicode'u ayırır, gömülü null karakterleri korur ve daha kısa-önek-önce sıralamasını kullanır; SkipBlankValues = False olduğunda boş bir işlenen sütunlar arası ihlal üretir

Yapılandırılmış sonuçlar ve düzeltme çalışma kitapları

TlxImportViolationRow, Col, SheetName ve Address hücreyi tanımlar; Address A1 gösterimindedir; ValueText ve ErrorText görüntü bilgisi taşır; RuleName ve Kind yapılandırılmış kuralı ve hata kategorisini tanımlar; RelatedColumn sütunlar arası hatada ikinci işleneni tanımlar, FirstDuplicateRow ise benzersizlik hatasında özgün satırı tanımlar
TlxImportViolationKindivRequired, ivTextLength, ivPattern, ivUnique, ivCallback, ivValueType, ivValueRange, ivCellError, ivFormulaCacheMissing, ivCompositeUnique ve ivCrossColumn desteklenen hata kategorilerini ayırır

Check(Sheet) ihlal sayısını döndürür; ViolationCount artı 0 tabanlı Violation(Index) raporu numaralandırır; bir sütun kuralı ilk geçmeyen yüklemini bildirirken bağımsız yapılandırılmış küme ve karşılaştırma kuralları aynı hücre için ek ihlaller ekleyebilir; kararlı uygulama kural tanımlayıcıları gerekiyorsa anlamlı Name değerleri atayın

Formül hücreleri, saklanan önbellek değerleri kullanılarak doğrulanır; saklanan önbellek sonucu olmayan bir formül ivFormulaCacheMissing bildirir, hata sonucu ise ivCellError; taze formül sonuçları gerekiyorsa denetimden önce açıkça yeniden hesaplayın; doğrulama harici kaynaklara erişmez, formül tanımlarını değiştirmez veya önbelleğe alınmamış formülleri değerlendirmez

OnVerifyCell, TlxImportVerifyCell callback imzasını korur ve başarılı uygulanabilir sütun yüklemleri ile benzersizlik denetimlerinden sonra çalışır; Boolean döndürür ve uygulama hata iletisi ayarlayabilir; callback'ler çalışma kitabını ve doğrulama şemasını değişmez tutmalıdır ve çalışma kitabı yazımları okuma kirası tarafından reddedilir; callback istisnaları yayılır ve kira sonraki işlemler için serbest bırakılır

Check asla ek açıklama eklemez, satır silmez veya paketlenmiş değerleri somutlaştırmaz; denetimden sonra kırmızı yazı tipleri uygulamak ve mevcut açıklamalara hata metni eklemek için Annotate kullanın veya ihlal etmeyen satırları kaldırmak ve bir düzeltme çalışma kitabı oluşturmak için açıkça KeepOnlyViolations çağırın; bu yöntemler verilen çalışma sayfasını değiştirir, bu nedenle raporu inceledikten sonra amaçlanan çalışma kitabı üzerinde çağırın

Doğrulama, senkron çağrı için çalışma sayfasını ve çalışma kitabını ödünç alır; caller'ın nesne sahipliğini üstlenmez veya arayüz sahipliğinde bir çalışma kitabı gerektirmez; bir okuma kirası, denetim boyunca ilgili saklanan hücre anlık görüntülerini ve saklanan formül önbelleği erişimini korur

TXLSExternalLinkUpdateMode = (xluPromptUser, xluNever, xluAlways);

property IXLSWorkbook.SaveExternalLinkValues: Boolean;
property IXLSWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
property TXLSXWorkbook.SaveExternalLinkValues: Boolean;
property TXLSXWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
      
Her iki motor da varsayılan olarak önbelleğe alınmış değerleri ve xluPromptUserseçeneğini kaydeder; xluNever ve xluAlways yalnızca çalışma kitabında saklanan güncelleme tercihini değiştirir ve asla dış dosya ya da ağ erişimini yetkilendirip başlatmaz

Hesaplama denetimi ve çalışma kitabı ipuçları

function TXLSWorkbook.RecalcAndVerify(MaxIssues: Integer = 10000): TXLSCalculationAuditReport;
function TXLSXWorkbook.RecalcAndVerify(MaxIssues: Integer = 10000): TXLSCalculationAuditReport;
function TXLSWorkbook.RecalcAndVerifyEx(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSXWorkbook.RecalcAndVerifyEx(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSWorkbook.RunCalculationAudit(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSWorkbook.FormulaIsVolatile(Formula: WideString): Boolean;

function TXLSWorkbook.AuditOverlayHash(SheetIndex, Row, Col: Integer): Integer;
function TXLSWorkbook.AuditOverlayRead(SheetIndex, Row, Col: Integer; var Value: Variant): Boolean;
procedure TXLSWorkbook.AuditOverlayWrite(SheetIndex, Row, Col: Integer; const Value: Variant);
procedure TXLSWorkbook.AuditOverlayClear;

TXLSCalculationAuditIssueKind = (xlcaiCacheMismatch, xlcaiParseFailure,
  xlcaiMissingFunction, xlcaiMissingName, xlcaiUnsupportedArguments,
  xlcaiCircularReference, xlcaiExternalReferenceDenied,
  xlcaiExternalReferenceMissing, xlcaiDataTableSkipped, xlcaiCancelled,
  xlcaiInternalFailure);

TXLSCalculationAuditIssue = record
  Kind: TXLSCalculationAuditIssueKind;
  SheetIndex: Integer;
  SheetName: WideString;
  Row: Integer;
  Col: Integer;
  Formula: WideString;
  Symbol: WideString;
  Expected: Variant;
  Actual: Variant;
  ResultCode: Integer;
  Stack: WideString;
  ExternalTarget: WideString;
end;
TXLSCalculationAuditIssues = array of TXLSCalculationAuditIssue;

TXLSRecalcAuditProgress = procedure(ASender: TObject;
  ACurrent, ATotal: Integer; var ACancel: Boolean) of object;

property WorkbookCodeName: WideString;
property CalculationThreadMode: TXLSCalculationThreadMode;
property ForceFullCalculationState: TXLSOptionalBooleanState;
property RefreshAllOnLoadState: TXLSOptionalBooleanState;
      
RecalcAndVerify , formül simgesi hatalarını ve önbellek değeri uyuşmazlıklarını; çalışma sayfası koordinatları, formüller, simgeler, beklenen ve gerçek değerler ile sınırlı kısaltma içeren kararlı yapılandırılmış kategorilere dönüştürür ve bu sırada önbellekleri ile çalışma kitabı semantiğini değiştirmez. RecalcAndVerifyEx derin denetimi çalıştırır: her formülü bağımlılık grafiği üzerinden bir kez değerlendirip sonucu izole bir sonuç katmanına yazar, böylece bağımlı hücreler bayat önbellekler yerine bu geçişin sonuçlarını okur; değerlendirme hatalarını (desteklenmeyen bağımsız değişkenler, dairesel başvurular, reddedilen ya da eksik harici başvurular, atlanan veri tabloları, iptal, iç hatalar) sonuç kodlarıyla sınıflandırır, hata başına sınırlı bir çağrı yığını kaydeder, bir sorun bütçesine ve ilerleme/iptal alıcısına uyar ve ApplyResults , değişmemiş bir çalışma kitabı yapısı üzerinden tamamen başarılı bir geçişin ardından yeniden hesaplanan değerleri atomik olarak işlemedikçe salt okunur kalır
AbsoluteTolerance ile RelativeTolerance uyuşmazlık raporlamasını denetler; ara hesaplama değerlerini veya açık önbellek uygulamayı değil Sayısal sonuçlarda uyuşmazlıktan söz edebilmek için mutlak farkın AbsoluteTolerance 'u aşması ve göreli tolerans etkinse ayrıca RelativeTolerance * max(abs(Expected), abs(Actual)) değerini aşması gerekir Her iki eşiğe denk gelen eşitlik tolere edilir; değişen değerler yine de denetim katmanına girer, böylece bağımlı formüller güncel hesaplamayı görür ve fark raporlanabilir düzeye ulaşmasa bile ApplyResults bu değerleri işler Salt okunur denetim saklanan önbellekleri asla değiştirmez
dizisinin her öğesi bir TXLSCalculationAuditReport.Issues kategorilerinden birini seçer, TXLSCalculationAuditIssue/ Kind önbellek uyuşmazlıklarında karşılaştırılan değerleri taşır, xlcai* categories, Expected / Actual önbellek uyuşmazlıklarında karşılaştırılan değerleri taşır, Stack sınırlı değerlendirme çağrı zinciridir ve Sheet!A1 > Sheet!B2 biçiminde çizilen sınırlı değerlendirme çağrı zinciridir (en dış çerçeve önce) ve ExternalTarget harici başvuru sorunlarında harici çalışma kitabını tanımlar. TXLSRecalcAuditOptions.OnProgress , TXLSRecalcAuditProgress / ACurrent düğüm ilerlemesini alan ve denetimi bir sonraki düğüm sınırında tek bir ATotal sorunuyla durdurmak için ACancel ayarlayabilen bir xlcaiCancelled alıcısıdır
RunCalculationAudit , çalışma kitabı düzeyindeki denetim sarmalayıcılarının devrettiği motor giriş noktasıdır ve aynı seçenek kaydını kabul eder. FormulaIsVolatile , bir formülün her geçişte yeniden hesaplamayı zorlayıp zorlamayacağını bildirir ( NOW, RAND, TODAY, OFFSET, INDIRECTgibi çağrılar ya da çözümlenemeyen bir başvuru)
Denetim katmanı (audit overlay), hücre önbelleklerinin üstünde bir what-if katmanıdır: AuditOverlayWrite tek bir hücre için yedek bir değer saklar (hesaplayıcı kuralına uygun olarak 1 tabanlı sayfa indeksi, 0 tabanlı satır ve sütun), AuditOverlayRead ve AuditOverlayHash bu katmanı sorgular, AuditOverlayClear ise katmanı boşaltır. Katmana yazılan değerler normal hücre değeri erişicileri tarafından döndürülür; böylece yeniden hesaplama ve derin denetim, çalışma sayfası hücrelerini değiştirmeden bu değerleri görür. Katman temizlendiğinde saklanan değerler geri gelir
Çalışma kitabı ipucu özellikleri; kaynak biçimin desteklediği durumlarda eksik, false, true, devre dışı, otomatik ve el ile durumlarını korur. Bu özellikler açılışta asla hesaplama, tazeleme, dosya sistemi, ağ veya veritabanı işi başlatmaz

Tablo formülü ve IME durumu

property TXLSXTable.ColumnCalculatedFormulaArrayStates[Index: Integer]: TXLSTableFormulaArrayState;
property TXLSXTable.ColumnTotalsFormulaArrayStates[Index: Integer]: TXLSTableFormulaArrayState;
property TDataValidation.ImeMode: TXLSDataValidationImeMode;
property TXLSXDataValidation.ImeModeKind: TXLSDataValidationImeMode;
      
Hesaplanan sütun ve toplamlar satırı formülleri; dokunulmamış kaynak sözcüksel değerleri ve sütun yapısal düzenlemeleri dahil, birbirinden bağımsız yok, false, true veya bilinmeyen dizi durumlarını korur. Dizi formülleri, sessizce değiştirilmek yerine skaler satır genişletmesi tarafından reddedilir
IME modları açık BIFF ve OOXML eşlemelerini kullanır, bilinmeyen kaynak değerlerini korur ve Classic XLS için yazıldığında yalnızca OOXML'de geçerli olan devre dışı değerini reddeder
Setting SaveExternalLinkValues değerinin False yapılması, Klasik XCT ve CRN kayıtlarını veya XLSX dış kitap sheetDataSet alt ağacını çıkarırken bağlantı hedeflerini, sayfa adlarını, dış tanımlı adları, ilişkileri, formül başvurularını, bilinmeyen XML'i ve bellek içi önbelleği korur; aynı çalışma kitabında özelliğin yeniden True yapılması, korunan önbelleği yeniden serileştirebilir
Dokunulmamış desteklenmeyen kaynak belirteçleri bayt bayt veya sözcüksel olarak korunur; açık atamalar yalnızca yasal değerleri yayar, değişmemiş XLSX bölümleri sıkıştırılmış kopyalama yolunu korur ve XLS/XLSX dönüşümü her iki ilkeyi de aktarır; ODS ve metin çalışma kitaplarının eşdeğer bildirimi yoktur ve varsayılanlarla açılır; korunan DDE ve OLE bağlantı bölümleri ise dış çalışma kitabı hücre önbelleği olarak ele alınmaz

Web Eklentisi görev bölmesi incelemesi ve kaldırma

function IXLSWorkbook.HasWebAddinTaskPanes: Boolean;
function IXLSWorkbook.WebAddinTaskPaneCount: Integer;
function IXLSWorkbook.RemoveWebAddinTaskPanes: Integer;
function TXLSXWorkbook.HasWebAddinTaskPanes: Boolean;
function TXLSXWorkbook.WebAddinTaskPaneCount: Integer;
function TXLSXWorkbook.RemoveWebAddinTaskPanes: Integer;
      
İnceleme yöntemleri, türü Web Eklentisi görev bölmesi ilişki türüyle tam olarak eşleşen yalnızca iç paket kökü ilişkilerini tanır; dış ilişkiler, farklı büyük/küçük harfli türler, çalışma sayfası ilişkileri ve benzer adlı bölümler yok sayılır
Kaldırma önce normalize edilmiş hedefler, paket kökü kısıtlaması, döngüler, eksik bölümler ve kaynak sınırları dahil ilişki grafiğinin tamamını doğrular; ardından eşleşen tüm kök ilişkilerini ve yalnızca başka bir korunan ilişki tarafından paylaşılmayan erişilebilir bölümleri, silinen kaynaklara ait ilişki bölümleriyle birlikte kaldırır
İşlem atomiktir ve idempotenttir; kaldırılan kaynak bölümler sıkıştırılmış kopya kaydetme yoluyla yeniden beliremez ve içerik türleri kalan paketten yeniden oluşturulur; bozuk grafikler değişiklikten önce 1303 tanılama kodunu ekleyip istisna oluştururken Klasik XLS ve ODS, paket taraması yapmadan False, 0ve -1 döndürür

Çalışma kitabı nesne görüntüleme ilkesi

TXLSObjectDisplayMode = (xlsodmShowAll, xlsodmShowPlaceholders,
  xlsodmHideAll);

property IXLSWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSXWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSPaginationModel.ExportObjectPlaceholders: Boolean;
property TXLSPDFExport.ExportObjectPlaceholders: Boolean;
property TXLSSvgExport.ExportObjectPlaceholders: Boolean;
property TXLSPageImageExporter.ExportObjectPlaceholders: Boolean;
property TXLSPrintDocument.ExportObjectPlaceholders: Boolean;
property TXLSXHtmlExportOptions.ExportObjectPlaceholders: Boolean;
      
Classic XLS, üç durumu kendi çalışma kitabı nesne görüntüleme kaydına eşler; XLSX ise bunları workbookPr.showObjectsalanına eşler. Eksik değerler xlsodmShowAllvarsayılanına döner, dokunulmamış ayrılmış Classic yükleri ve desteklenmeyen XLSX belirteçleri kayıpsız kalır, açık atamalar ise yalnızca kanonik değerleri yazar
Görüntüleyici, placeholder modunu kullanılabilir nesne türü, ad, metin ve alternatif metni taşıyan hafif kutular olarak çizer. Dışa aktarıcılar varsayılan olarak tam nesneleri korur; ExportObjectPlaceholders ayarlandığında ise görüntü yükleri çözülmeden ve grafik sahneleri kurulmadan aynı düşük maliyetli politika istenir
xlsodmHideAll , işleme başlamadan önce çizim koleksiyonunu ve nesne kaynaklı aralık genişletmesini engeller. Çalışma kitabı dönüşümü üç durumu da taşır; ODS, placeholder modu için eksiksiz çizimler yazar ve hide-all modunda çizim ile medya çıktısını atlar; çalışma sayfası arka planları ise bağımsız kalır

İşleme kalibrasyonu değerleri ve anlık görüntüler

TXLSRenderCalibration = record
  WidthCorrection: Double;
  HeightCorrection: Double;
  LineSpacing: Double;
  CellMarginFactor: Double;
  ScreenScaling: Integer;
  MeasurementDpi: Integer;
end;

function XLSDefaultRenderCalibration: TXLSRenderCalibration;
function XLSValidateRenderCalibration(const AValue: TXLSRenderCalibration;
  out AInvalidField: TXLSRenderCalibrationField): Boolean;
      
Varsayılan değerler 1, 1, 1, 1, 100ve 96'dır; genişlik ve yükseklik düzeltmeleri sıfırdan büyük ve ikiden küçük olmalıdır, satır aralığı (0, 4]ile, hücre kenar boşlukları [0, 4]ile, ekran ölçekleme yüzde [100, 500] ile ve ölçüm DPI'ı [36, 2400]
Klasik XLS ve XLSX çalışma kitapları aynı RenderCalibration, CaptureRenderCalibrationve ResetRenderCalibration üyelerini açığa çıkarır; kayıt bütünüyle yapılan atama değişiklikten önce doğrulanır ve her yakalama, tek bir işleme işlemi için kural olarak değişmez, bağımsız bir değer anlık görüntüsü döndürür

İşleme geometrisi ve yazı tipi ölçümü

TXLSRenderGeometryBackend = (xlsrgbAutoFit, xlsrgbPagination, xlsrgbPdf,
  xlsrgbSvg, xlsrgbBitmap, xlsrgbPrintPreview, xlsrgbViewer, xlsrgbHtml);

TXLSRenderFont = record
  Name: WideString;
  Size: Double;
  Styles: TXLSRenderFontStyles;
  Charset: Byte;
end;

function CreateXLSRenderGeometry(
  const ACalibration: TXLSRenderCalibration;
  AWorkbookGeneration: UInt64;
  ABackend: TXLSRenderGeometryBackend;
  ACacheCapacity: Integer = 4096): IXLSRenderGeometry;

property TXLSHTMLExport.RenderGeometry: IXLSRenderGeometry;
property TXLSXHtmlExportSession.RenderGeometry: IXLSRenderGeometry;
      
IXLSRenderGeometry tek bir değişmez kalibrasyon, çalışma kitabı jenerasyonu, arka uç kimliği, ölçüm servisi ve sınırlı işlem yerel metrik önbelleğine sahiptir; CreateXLSRenderGeometry GDI kullanırken lxPortableCairo içindeki CreateXLSPortableCairoRenderGeometry yerel Linux veya macOS'ta FreeType/HarfBuzz ile açık yazı tipi baytlarını kullanır; MeasureText piksel genişliği, yüksekliği, satır yüksekliğini, yükselişi, inişi ve satır sayısını döndürürken MaximumDigitWidthPixels, ColumnWidthToPixels, PixelsToColumnWidth, PointsToPixels, PixelsToPointsve UsableCellWidthPixels paylaşılan geometri dönüşümlerini sağlar
Önbellek kimliği arka ucu, çalışma kitabı jenerasyonunu, tüm kalibrasyon değerlerini, yazı tipi adını, tam boyutu, stilleri, karakter kümesini, sarma genişliğini ve metni kapsar; genişlik ve yükseklik düzeltmesi metin ölçümü sırasında bir kez uygulanır, satır aralığı yalnızca çok satırlı yüksekliği etkiler, hücre kenar boşluğu düzeltmesi yalnızca kullanılabilir metin genişliğini etkiler ve ekran ölçekleme yalnızca örtük sütun genişlikleri için en büyük rakam genişliği öykünmesini etkiler
Klasik XLS ve XLSX AutoFit, birleştirilmiş aralık ve iki aşamalı MarkSheet ölçümü dahil her genel işlem için bir hizmet yakalar; TXLSPaginationModel.Build seçilen RenderBackendiçin bir hizmet yakalar; PDF, SVG, bit eşlem, baskı önizleme, çalışma kitabı görüntüleyici ve HTML giriş noktaları çıktıdan önce kendi arka uçlarını seçer, çalışma kitabı kalibrasyonunun değiştirilmesi mevcut bir anlık görüntüyü değiştiremez ve çıktı çalışma sayfası boyutlarını yazmaz
Doğrudan HTML çalışma kitabı, çalışma sayfası ve aralık çağrıları taze bir xlsrgbHtml hizmeti yakalar; artımlı bir TXLSXHtmlExportSession ise BeginExport içinde bir kez yakalar ve bu anlık görüntüyü tüm sayfalar için yeniden kullanır; her iki dışa aktarıcı da saklanan hizmeti kalibrasyon ve önbellek tanılaması için RenderGeometry aracılığıyla açığa çıkarır
Salt okunur IXLSRenderGeometry özellikleri WorkbookGeneration, CacheCapacityve CacheEntryCount , bağlı jenerasyonu ve tanılama için önbellek doluluğunu bildirir; ImplicitWidthMaximumDigitWidthPixels ise örtük sütun genişliği öykünmesinin ardındaki rakam genişliği ölçümünü döndürür
MeasureText ; TXLSRenderTextMetrics üyesi TXLSRenderFont bayraklarından (kalın, italik, altı çizili, üstü çizili) oluşan bir küme tutan bir Styles kaydından, piksel genişliği, yüksekliği, satır yüksekliği, yükseliş, iniş ve satır sayısını içeren bir TXLSRenderFontStyle kaydını doldurur

İçe aktarma, kod üretimi, karşılaştırma ve izleme

TXLSHTMLImportLoadFromHTML aşırı yüklemeleri HTML tablo içeriğini bir akıştan veya dosyadan, isteğe bağlı başlangıç koordinatları, tablo seçimi ve ondalık ayırıcıyla bir çalışma sayfasına aktarır
TXLSCodeGenLanguage (tür TlxCodeGenLanguage: lcgDelphi veya lcgCppBuilder) üretilen deyimlerin kaynak lehçesini seçer, GenerateToList üretilen çalışma kitabı kodunu bir dize listesine yazar; TlxCodeGenOptions ise çıktıyı birleştirmeler, sütun genişlikleri veya sayı biçimleriyle genişletir (cgoMerges, cgoColumnWidths, cgoNumberFormats; sayfalar ve hücreler her zaman yazılır)
TXLSXWorkbookCompareCompare türlü saklanan hücreleri, formül metnini, sayfa varlığını ve birleştirmeleri karşılaştırır; Options formül önbelleklerini, temel hücre stillerini ve satır veya sütun geometrisini ekler, SetNumericTolerance sayısal eşitliği yapılandırır; Count, Diff ve Report sıralı sonuçları açığa çıkarır; çalışma kitabı karşılaştırması bölümüne bakın
TXLSFileMonitorIntervalMs yoklama aralığını ve SynchronizeEvent eşitlenmiş geri çağırma teslimini seçer; bir OnFileChanged işleyicisi izleyiciyi devre dışı bırakabilir veya yok edebilir, başka bir dosyayı izlemeye başlamak için FileName 'i değiştirebilir
TXLSCSVLoader and TXLSCSVSaverYükleyici, ayrılmış metni Variant'lardan oluşan bellek içi bir ızgaraya ayrıştırır — ParseFile ve ParseStream ızgarayı doldurur, CellValue, RowCountve ColCount geri okur — otomatik algılanan ayırıcı (ValueSeparator) ve kodlama (TXLSCsvEncoding: sistem ANSI, UTF-16, UTF-8) ile; isteğe bağlı tür yükseltmesi DetectTypes ve sütun başına ColumnTypes girdileriyle (TXLSCsvColumnType: auto, text, number, date, boolean, skip) denetlenir. SkipRows, AutoTrim, LocaleTolerantNumbersve FieldWidths , sabit genişlik ve yerel ayar işlemeyi inceltir. TXLSCSVSaver.SaveAs , ızgarayı RFC 4180 tırnaklamasıyla geri yazar; QuoteAllStrings tırnaklamayı zorlar. TXLSTSVSaver , sekmeye göre ayrılmış çıktı için kaydediciden türetilir

Çalışma kitabı karşılaştırması

lxCompare ünitesindeki TXLSXWorkbookCompare, iki TXLSXWorkbook örneğini formülleri yeniden hesaplamadan ve her iki çalışma kitabını da değiştirmeden karşılaştırır; sayfalar büyük/küçük harf duyarsız adla eşleştirilir ve yalnızca sayfa sırası değişikliği fark üretmez

Varsayılan Options değeri boştur ve her iki tolerans da varsayılan sıfırdır; varsayılan karşılaştırma eklenen veya kaldırılan sayfaları, eklenen veya kaldırılan saklanan hücreleri, değişen türlü literal değerleri, değişen formül metnini ve eklenen veya kaldırılan birleştirilmiş aralıkları bildirir

Literal karşılaştırma sayıları, metni, Boolean değerleri, tarihleri, hataları ve boşları ayırır: 1 sayısı '1' metninden farklıdır, bir Boolean kendi metin yazımından farklıdır, tarihler kendi türünü korur ve hatalar saklanan hata koduna göre karşılaştırılır; eşit değerli sayısal depolama türleri eşit karşılaştırılırken farklı Int64 değerleri kesin karşılaştırmada ayrı kalır

lcoFormulaCachedResultsFormül metni eşleşen hücreler için mevcut önbellek sonucunu karşılaştırır ve eksik veya geçersizleştirilmiş önbelleği kullanılabilir bir önbellekten ayırır; aynı türlü değere sahip yüklenmiş ve hesaplanmış önbellekler eşit karşılaştırılır
lcoCellStylesEşleşen saklanan hücre koordinatlarında çözülmüş temel stilleri karşılaştırır; yazı tipleri, dolgular, degradeler, kenarlıklar, hizalama, sayı biçimleri ve hücre koruması dahil; ilgisiz stil havuzu ekleme sırası fark üretmez ve tema renkleri her çalışma kitabının güncel temasına göre çözülür
lcoAxisGeometryEtkin satır yüksekliklerini, sütun genişliklerini, gizli bayraklarını, anahat düzeylerini, daraltılmış bayraklarını ve çalışma sayfası varsayılanlarını karşılaştırır; etkin varsayılana eşit açık bir boyut, örtük boyutla eşit karşılaştırılır
lcoDefinedNamesÇalışma kitabı ve çalışma sayfası kapsamlı adları ile formül tanımlarını, görünürlüklerini, açıklamalarını ve makro bayraklarını karşılaştırır; kapsam çalışma sayfası adlarını izler ve ekleme sırası fark üretmez
lcoDataValidationsDoğrulama tanımlarını saklanan sırada karşılaştırır; normalleştirilmiş hedef aralıklar, formüller, operatörler, istemler, hata iletileri ve kontrol bayrakları dahil; tek bir tanım içinde hedef aralıkların sırasını değiştirmek fark üretmez
lcoConditionalFormatsKoşullu biçim tanımlarını saklanan sırada karşılaştırır; etkin öncelik, stop-if-true davranışı, hedef aralıklar, formüller, diferansiyel stiller ve desteklenen renk ölçeği, veri çubuğu ve simge seti ayarları dahil; stil havuzu ve indeksli palet tanımlayıcıları anlamsal değerlerine çözülür
lcoTablesTabloları ada göre eşleştirir ve aralıkları, başlıkları, toplamları, stil ayarlarını, açıklamaları, sütun adlarını, etiketleri, formülleri, dizi bayraklarını, benzersiz adları, bağlantı adlarını, filtre ölçütlerini ve sıralama koşullarını karşılaştırır; tablo kimlikleri, sütun kimlikleri ve ekleme sırası fark üretmezken renk filtresi ve sıralama diferansiyel stil kimlikleri görünüme çözülür
lcoDrawingsTürlü çizim tanımlarını çizim sırasında karşılaştırır ve grup-alt sırası ile grafik çizim grubu sırasını korur; desteklenen kanonik tanımlar resimleri, metin kutularını, grafikleri, grupları, eksiksiz türlü slicer görünümlerini ve türlü timeline görünümlerini kapsar; opak veya desteklenmeyen çizim düğümleri EXLSSemanticSnapshot fırlatır
lcoBlankStyleRegionsHer iki tarafta da saklanan hücresi olmayan koordinatlarda çözülmüş temel stilleri karşılaştırır; çalışma sayfası varsayılanları ve sanal stil kaplamaları dahil; eşdeğer dikdörtgen alt bölümleri eşit karşılaştırılır ve eşit komşu değişiklikler hücre somutlaştırmadan dikdörtgenlere birleşir
lcoRichTextRunsEşleşen saklanan metinli hücrelerde etkin bölüm yazı tiplerini ve metnini karşılaştırır, atlanan bölüm özellikleri için temel yazı tipini devralır, boş bölümleri yok sayar ve eşit etkin yazı tipli komşu bölümleri birleştirir; düz metin, eşdeğer varsayılan-yazı tipi zengin metin bölümüyle eşleşir
lcoPivotTablesTürlü PivotTable tanımlarını ada göre eşleştirir ve kaynak bağlarını, düzeni, alanları, sıralı görünüm üyelerini, veri toplamalarını, filtreleri, gruplama referanslarını, hesaplanan tanımları, stilleri ve yerel somutlaştırma bayraklarını karşılaştırır; önbellek ve paylaşılan üye kimlikleri kaynak kimliklerine ve türlü değerlere çözülür
lcoPivotCachesYerel türlü PivotCache tanımlarını kaynak kimliğine göre eşleştirir ve yenileme meta verisini, alan meta verisini, gruplu etiketleri ve aralıkları, sırasız paylaşılan üye alanlarını ve sıralı türlü kayıt değerlerini karşılaştırır; sayısal, metin, Boolean, tarih, hata ve boş üyeler ayrı kalır, tarihler binary64 duyarlığını korur ve önbellek kimlikleri ile paylaşılan üye yuva sırası fark üretmez
lcoSlicerStateAdlandırılmış slicer görünümlerini ve önbelleklerini eşleştirir; tablo-sütun veya OLAP-olmayan Pivot bağları, bağlı PivotTable adları, türlü üye seçimleri, çapraz filtre ve sıralama ayarları, başlık, kaydırma konumu, sütun düzeni, boyutlar, stil, kilit ve başlık bayrakları ile çapa geometrisi dahil; bağlar tablo, sütun, sayfa ve önbellek kimliklerini çözer
lcoTimelineStateAdlandırılmış türlü timeline görünümlerini ve yerel OLAP-olmayan önbellekleri eşleştirir; kaynak alan ve bağlı PivotTable bağları, aktif tarih seçimi, başlık, düzey ve çalışma sayfası sınırları dahil; etkin olmayan seçimler kullanılmayan tarih uç noktalarını atlar

Options, TlxCompareOption kümesi olan TlxCompareOptions türündedir; bir seçeneği etkinleştirmek, farklarını varsayılan karşılaştırmaya ekler

SetFeatureLimits(MaxBytes, MaxItems) her iki ayarı değiştirmeden önce her iki pozitif sınırı doğrular; MaxFeatureBytes varsayılan 64 MiB, MaxFeatureItems ise varsayılan 1.000.000'dır ve tekil setter'lar aynı atomik doğrulamayı korur

Özellik bütçeleri, zengin metin bölümlerini, filtre XML düğümlerini, Pivot alanlarını, alan üyelerini ve kayıt değerlerini, slicer veya timeline bağlarını kapsayan her iki çalışma kitabından toplam ayrık kanonik baytları ve sayılan girdileri kapsar; okuyucular yerel XML kurmadan önce sayımları ve büyük metin girdilerini denetler, sınırlı çıktı akışlarını zorunlu tutar ve bir sınır aşıldığında EXLSXSemanticBudget fırlatır

SetNumericTolerance(AbsoluteTolerance, RelativeTolerance) her iki ayarı değiştirmeden önce her iki argümanı doğrular; her ikisi de sonlu ve negatif-olmayan olmalıdır ve tekil AbsoluteTolerance ile RelativeTolerance setter'ları aynı doğrulamayı kullanır

Sayısal literal ve sayısal önbellek değerleri, mutlak farkları AbsoluteTolerance'dan küçük-eşitse veya daha büyük mutlak değere göre farkları RelativeTolerance'dan küçük-eşitse eşit karşılaştırılır; sıfır eşiği kesin eşitliği korur, göreli hesap uç zıt değerlerde taşmayı önler ve tolerans metni zorlamaz veya tarih, stil, geometriye uygulanmaz

LeftName ve RightName, Report satırlarının kullandığı isteğe bağlı görüntü adlarını ayarlar ve varsayılan left ile right'tır; adlar yalnızca raporlamayı etkiler, sayfa eşleştirmesini veya karşılaştırmayı değil

Comparer := TXLSXWorkbookCompare.Create;
try
  Comparer.Options := [lcoFormulaCachedResults, lcoCellStyles,
    lcoAxisGeometry];
  Comparer.SetNumericTolerance(0.001, 0.000001);
  DifferenceCount := Comparer.Compare(LeftWorkbook, RightWorkbook);
  for I := 0 to DifferenceCount - 1 do
  begin
    Entry := Comparer.Diff(I);
    ReportLines.Add(Entry.Describe);
  end;
finally
  Comparer.Free;
end;

Compare fark sayısını döndürür, Count sonrasında bu sayıyı okur ve Diff(Index) 0 tabanlı indekslemeyle karşılaştırıcının sahipliğinde bir TlxCompareDiff döndürür; girdilerini okurken karşılaştırıcıyı tutun ve başka bir başarılı karşılaştırmadan sonra girdileri yeniden edinin

Her girdi Kind, Sheet, uygulanabilir olduğunda 1 tabanlı Row ve Col, Ref, LeftText, RightText ve türlü LeftKind / RightKind değerlerini sağlar; TlxCompareValueKind lcvNone, lcvBlank, lcvNumber, lcvText, lcvBoolean, lcvDateTime, lcvError ve lcvFormula içerir; lcvNone yok olan taraf veya değer-olmayan fark için kullanılır

TlxCompareKind lckSheetAdded, lckSheetRemoved, lckCellAdded, lckCellRemoved, lckValueChanged, lckFormulaChanged, lckMergeAdded ve lckMergeRemoved'i korur ve lckFormulaCacheChanged, lckStyleChanged, lckRowGeometryChanged ile lckColumnGeometryChanged ekler

Stil farkları LeftText ve RightText'te stabil kanonik stil parmak izleri taşır; geometri farkları karşılaştırılan boyutu, gizli, anahat ve daraltılmış durumunu taşır; Ref etkilenen bitişik eksen aralığını tanımlar; satırlarda Row ilk satırına ve Col sıfıra, sütunlarda Col ilk sütununa ve Row sıfıra ayarlanır

Özellik farkları lckDefinedNameChanged, lckDataValidationChanged, lckConditionalFormatChanged, lckTableChanged, lckDrawingChanged, lckPivotTableChanged, lckPivotCacheChanged, lckSlicerChanged veya lckTimelineChanged kullanır; Change lccChanged, lccAdded veya lccRemoved'dır ve mevcut her taraf kanonik tanım parmak izini taşırken yok olan taraf boş dize taşır

lckRichTextChanged, hücre koordinatında değişen bölüm tanımını tanımlar ve LeftText ile RightText'te kanonik bölüm parmak izlerini taşır; sayısal tolerans hücre literallerine ve formül önbelleklerine uygulanırken türlü özellik tanımları kesin karşılaştırılır

Özellik referansları kapsamlı adları veya tablo adlarını tanımlar ya da doğrulama, koşullu biçim ve çizim tanımları için 1 tabanlı sıra konumlarını kullanır; sıralı bir özelliği eklemek veya taşımak birden çok konumu değiştirebilirken çalışma kitabı düzeyi ad girdileri boş Sheet taşır

lckBlankStyleRegionChanged, değişen boş dikdörtgeni Row, Col, kapsayıcı LastRow ve LastCol ile A1 Ref üzerinden tanımlar; saklanan koordinatlar sıradan hücre karşılaştırması ve lcoCellStyles tarafından işlenir; saklanan hücreleri ve boş alanları birlikte incelemek için her iki stil seçeneğini de etkinleştirin

Describe tek girdiyi biçimlendirir; Report(List) ise biçimlendirilmiş girdileri caller sahipliğinde bir TStrings'e ekler; türlü değer değişikliği türler farklı olduğunda tür etiketleri içerir ve sonuçlar hücre ekleme sırası yerine sayfa adı, satır, sütun, fark türü ve referansa göre sıralanır

Karşılaştırma okuma kiraları tutar, saklanan hücreleri ayrık imleç anlık görüntüleri üzerinden gezinir ve paketlenmiş depolamayı korur; geometri, saklanan meta veri sınırlarını ve kompakt tekrarlanan satır span'lerini bölümlendirirken boş stil karşılaştırması aktif dikdörtgen ve saklanan hücre sınırlarını dikdörtgen milyon satırlık bir ızgarayı taramadan süpürür; iş büyüklüğü saklanan özelliklere, bölge kesişimlerine ve bildirilen farklara bağlıdır

Başarısız bir karşılaştırma önceki başarılı sonucu korur; geçersiz tolerans ataması da mevcut ayarları ve sonucu korurken nil çalışma kitabı geçirmek sonucu temizler ve sıfır döndürür

Bu karşılaştırma, XLSX cephesinin saklanan hücre içeriğini ve seçili türlü özellik tanımlarını kapsar; ad, doğrulama, koşullu biçim, tablo ve grafik formül yazımı anlamsal formül ayrıştırıcısı üzerinden normalleştirilirken Pivot hesaplanmış formülleri saklanan tanım metnini korur

Tablo filtreleri desteklenen özel, değer listesi, tarih grubu, renk, simge, dinamik ve en-yüksek-sayı biçimlerini ve sıralama koşullarını kabul eder; bağımsız filtre sütunları ve değer kümesi girdileri sıralarını, Boolean varsayılanları ve sayısal yazımları normalleştirirken sıralama koşulu sırası önemli kalır

Türlü Pivot, slicer ve timeline karşılaştırması, kullanılabilirliği yenilemeden veya değerlendirmeden desteklenen yerel çalışma sayfası kaynaklarını ve OLAP-olmayan bağları çözer; yerel slicer kullanılabilirlik ipuçları türetilmiş görüntü meta verisidir, üye seçimleri ve tanınan yerel sıralama meta verisi ise karşılaştırılır

Opak yerel çizim özellikleri, eksik ikili Pivot modelleri, harici veya OLAP Pivot kaynakları, ham PivotTable ek kayıtları ve uzantı XML'i, bilinmeyen filtre XML'i ve modellenmemiş slicer veya timeline uzantı öznitelikleri ya da alt öğeleri EXLSSemanticSnapshot fırlatır; bu verilerin korunumu anlamsal eşdeğerlik ima etmez

Seçili içe aktarılmış PivotTable ve PivotCache özellikleri, türlü projeksiyonu karşılaştırmadan önce korunan yerel XML'i de doğrular; iç içe alan meta verisi ve önbellek kayıtları dahil; bilinmeyen ad alanları, öznitelikler, alt öğeler ve uzantı yükleri aynı iş birliği özellik sınırları içinde açıkça başarısız olurken modellenmiş slicer önbelleği bağları desteklenmiş kalır

TSimpleDomNode.RawName, okuyucu-normalleştirilmiş Name'in yanında özgün öğe QName'ini açığa çıkarır ve mevcut ayrıştırıcı ad eşleştirmesini değiştirmeden ad alanı duyarlı incelemeye izin verir

Çalışma kitabı ayarları ve opak paket meta verisi karşılaştırmanın dışında kalır; temel stil karşılaştırması koşullu biçim veya tablo stili görünümünü değerlendirmez ve çizim karşılaştırması anlamsal anlık görüntünün desteklenen resim, metin kutusu, grafik ve sıralı grup sınırlarını korur

Etkin zengin metin özellikleri

TMsoFbtOpt.StoredPids saklanan OfficeArt özellik tanımlayıcılarını sıralı olarak döndürür; TMsoFbtSp.PersistentFlags ise özellik veya çapa tahsis etmeden yerel şekil bayraklarını açığa çıkarır

TMsoShapeContainer.HasPreservedObjectData tutulan OBJ kuyruk baytlarını tanımlar; HasOrdinaryEmbeddedPictureObjectData resim kuyruklarının yalnızca tanınan pano-biçim ve sıfır resim bayrağı kayıtlarını içerip içermediğini denetler ve yükü kopyalamadan bağlantılı veya bilinmeyen kayıtları reddeder

TMSOShapeTextBox.HasValidTextRuns bölümler oluşturmadan saklanan TXO bölüm sınırlarını ve rezerve alanları denetler; TMsoDrawing.HasUnmodeledAppearance türlü ayrıştırıcının atladığı yerel çizim verisini tanımlar ve yakalamanın çözülmemiş görünümü açıkça reddetmesine izin verir

TXLSXRichTextRun.BoldSet, ItalicSet, StrikethroughSet, UnderlineSet, VertAlignSet ve ColorSet, false bayrakları, none, taban ve otomatik renkler dahil devralınan yazı tipi özelliklerini açık geçersiz kılmalarından ayırır; setter'lar, özelliğin değeri yeni bölümün başlangıç varsayılanına eşit olsa bile onu açık işaretler

TXLSXRichText.HasUnsupportedAppearance, türlü bölüm modelinin temsil edemeyeceği yerel zengin özellikleri bildirir; taşınabilir yakalama ve etkin zengin metin karşılaştırması bu tür bölümleri açıkça reddederken desteklenen paylaşılan/satır içi bölüm özellikleri ve whitespace içe aktarma semantiğini korur

Etkin zengin metin karşılaştırması, komşu eşit bölümleri birleştirmeden önce açık false geçersiz kılmaları uygular; devralınan ve açıkça temizlenmiş özellikler, paylaşılan dize tekilleştirmesi ve desteklenen XML gidiş dönüşleri boyunca ayrı kalır

TXMLReader.ResolveNamespaceUri(Prefix, Uri) okuyucu konumunu değiştirmeden güncel kapsam içi ad alanı bağını çözer ve bağ yoksa false döndürür; boş bir önek varsayılan ad alanını ister ve ham QName'ler ad alanı duyarlı inceleme için kullanılabilir kalır

Değişmez zengin/sahne kayıtları, yakalama-kaynak uzantısı ve HXRSNP02 aktarım sözleşmesi Taşınabilir başsız çıktı konusunda açıklanır

Ayrık stil ve eksen incelemesi

TXLSXWorksheet.ReadSemanticCellStyle(Row, Col) geçerli 1 tabanlı koordinatlar için ayrık bir TXLSSemanticCellStyle döndürür; saklanan ve paketlenmiş stilleri, çalışma sayfası varsayılanlarını, uygulanabilir stil kaplamalarını, örtük tarih biçimlerini, indeksli renkleri ve tema renklerini hücre somutlaştırmadan ve stil havuzlarını değiştirmeden çözer; genel çağrı bir okuma kirası edinir ve koşullu biçim ile tablo stili kurallarını dışlar

TXLSXWorksheet.GetStoredAxisSpans(IsRow) kapsayıcı 1 tabanlı FirstIndex ve LastIndex taşıyan TXLSXAxisSpan kayıtları dizisi olan TXLSXAxisSpans döndürür; boyut, gizli, anahat ve daraltılmış meta veri ayak izlerini bildirir, kompakt tekrarlanan satır yüksekliği span'lerini korur ve çalışma sayfasının etkin varsayılanını sıradan özellikleriyle kullanılabilir bırakır

Döndürülen span'ler ayrık normalleştirilmiş bir bölümleme değil saklanan meta veri ayak izlerini tanımlar; iki ekseni karşılaştıran uygulamalar ilk ve son sınırlarını birleştirip sonuçlanan her aralık için etkin durumu bir kez inceleyebilir

TXLSXWorksheet.GetStoredStyleRegions, kompakt sanal biçimlendirme ayak izleri için kapsayıcı FirstRow, FirstCol, LastRow ve LastCol sınırları içeren ayrık TXLSXStyleRegions döndürür; bu ayak izleri örtüşebilir ve caller'lar etkin görünümlerini ReadSemanticCellStyle ile okur

TXLSXWorkbook.ReadSemanticFeatures(Kind, Sheet, MaxBytes, MaxItems) stabil bir Key, kanonik Definition baytları ve sayılan ItemCount taşıyan ayrık TXLSXSemanticFeatures girdileri döndürür; isteğe bağlı pozitif sınırlar varsayılan 64 MiB ve 1.000.000 girdidir

TXLSXSemanticFeatureKind xlsxSemanticDefinedNames, xlsxSemanticDataValidations, xlsxSemanticConditionalFormats, xlsxSemanticTables, xlsxSemanticDrawings, xlsxSemanticPivotTables, xlsxSemanticPivotCaches, xlsxSemanticSlicers, xlsxSemanticSlicerCaches, xlsxSemanticTimelines ve xlsxSemanticTimelineCaches içerir

Tanımlı adlar ve üç önbellek türü çalışma kitabı geneli kapsam kullanır ve nil sayfaya izin verir; diğer türler çalışma kitabına ait bir çalışma sayfası gerektirir, kurallar ve çizimler saklanan sıralarını korur ve döndürülen diziler ile tamponlar caller sahipliğinde kopyalardır; bu okuyucular okuma kiraları edinir ve yukarıda açıklanan türlü kapsam ile açık desteklenmeyen veri davranışını devralır

TXLSXWorksheet.ReadSemanticRichText(Row, Col, IncludePlainText, MaxBytes, MaxItems, ConsumedItems) 1 tabanlı koordinatlar için ayrık kanonik bölüm baytları döndürür; zengin metin yoksa ve IncludePlainText false ise boş tampon döndürür; isteğe bağlı ConsumedItems: PInteger yakalanan bölüm sayısını alır ve düz metin yakalama paketlenmiş depolamayı korur

TXLSPivotCacheField.GroupItemTypes[Index], GroupItemLabels[Index]'e karşılık gelen türlü türü açığa çıkarır ve saklanan gruplu etiket alanının dışındaki bir indeksi reddeder

Formül meta verisi ve Pivot sorgu callback'leri

TXLSGetCellFormulaText ve TXLSCalculator.OnGetCellFormulaText, 1 tabanlı SheetIndex ve 0 tabanlı Row/Col kullanarak saklanan ifade metnini okur, lxOk veya türlü bir hata kodu döndürür ve formül gizli korumasına uyar; TXLSGetPivotTable ve OnGetPivotTable, 1 tabanlı SheetIndex ve 0 tabanlı aralık koordinatlarıyla ödünç alınan bir tabloyu konumlandırır

Çalışma kitabı motorları bu isteğe bağlı callback'leri normal, salt okunur ve izole hesaplama bağlamlarında bağlar; callback'ler hedefleri yeniden hesaplamaz, Pivot kaynaklarını tazelemez veya sahipliği devretmez

TXLSPivotDataConstraint bir FieldName ve türlü Item saklar; TXLSPivotDataConstraints alan/öğe çiftlerini toplar; TXLSPivotTable.GetDataValue, ayrık bir yerel tablo/önbellek anlık görüntüsünden tek görünen desteklenen toplamı sorgular ve IntersectsQueryRange, modellenmiş rapor filtresi hücreleri dahil 1 tabanlı çalışma sayfası sınırlarını kullanır

TlxPivotQueryBudget iş ve bellek tahminlerini senkron alır ve değerlendirmenin devam edip edemeyeceğini döndürür; EXLSPivotQueryBudget ve EXLSPivotQueryUnsupported, tükelenen sınırları desteklenmeyen önbellek veya toplam modellerinden ayırır

TXLSPivotCache.QueryModelIsComplete, çözülmüş sorgu hazırliğini BIFF ham yeniden oynatım tamlığından bağımsız kaydeder; QueryRecordsValid içe aktarılan kayıt geçerliliğini açığa çıkarır ve SetQueryRecordValidity kayıtları yenilemeden biçim-okuyucu önceliğini uygular

Açık kod sayfası baytları

MemberContract
XlsEncodeCodePage(Text, CodePage, MaxBytes = -1)Açık sıfırdan-farklı bayt-yönelimli bir sayfada tam baytlarla RawByteString döndürür, gömülü null'ları korur, Unicode gidiş dönüş kimliğini doğrular ve gösterilemeyen metin için EConvertError fırlatır; negatif-olmayan bir MaxBytes sığan en uzun eksiksiz karakter önekini tutarken -1 uzunluğu sınırsız bırakır; doğrulama kırpmadan önce özgün metni kapsar
XlsDecodeCodePage(Bytes, CodePage)Açık bayt kodlamasından WideString döndürür ve gömülü null'ları korur; bozuk bayt dizileri kurulu çözücü davranışını izler; sayfa 0 ve UTF-16 sayfa 1200 reddedilir çünkü bu API ANSI yerel ayarı çıkarsamaz veya UTF-16 bayt akışı işlemez
TXLSBlob.GetCompressedUnicodeString(Index, Count)Tam BIFF8 sıkıştırılmış Unicode U+0000 ile U+00FF kod ünitelerini döndürür, gömülü null'ları korur, istenen bayt aralığını doğrular ve bu baytları bir kod sayfasıyla yorumlamaz
TXLSBlob.AddRawStringAnsiString kod sayfası dönüşümü olmadan tam kodlanmış baytları ekler ve DataLength'i günceller; boş girdi bayt eklemez
TXLSCalculator.CodePage, TXLSFormula.FCodePageAçık eski formül bayt kodlamasını seçer, varsayılan CP1252; sahibi olan Classic çalışma kitabı, hesaplayıcısını başlatıldığında veya SetCodePage çağrıldığında eşzamanlar
TXLSFontList.GetFont, TXLSNumFormatList.GetNumFormatBlob, TXLSStyles.GetStyleBlobİsteğe bağlı CodePage argümanı varsayılan 1252'dir ve BIFF5 metnini kodlar; BIFF8 çıktısı Unicode olarak kalır
TMsoDrawing.StoreNotesİsteğe bağlı CodePage argümanı varsayılan 1252'dir ve Unicode-öncesi açıklama metnini kodlar; mevcut BIFF5 sıradan açıklama kayıt boyutu sınırı korunur; bu, o kayıt biçiminde bulunmayan yazar, zengin metin veya geometri alanları eklemez
TXLSCustomName.SetSourceDataİsteğe bağlı FileFormat ve CodePage argümanları içe aktarılan ham NAME baytlarını tanımlar ve varsayılan xlExcel97 ile 1252'dir; ham kayıtlar yalnızca biçimleri ve eski kodlamaları istenen çıktıyla eşleştiğinde yeniden kullanılır
TXLSFormulatArrayItem.GetDataSize, TXLSFormulatArray.GetDataSize, TXLSFormulatArray.GetData, TXLSFormulatArrays.GetDataSize, TXLSFormulatArrays.GetData, TXLSCompiledFormula.GetExternalDataİsteğe bağlı ACodePage argümanı varsayılan 1252'dir; eski dize-dizi boyutu ve çıktısı aynı kodlanmış bayt sayısını kullanırken BIFF8 dizeleri Unicode olarak kalır

Döndürülen RawByteString'i doğrudan AddRawString'e veya bayt-yönelimli bir akış işlemine geçirin; onu varsayılan bir AnsiString'e dönüştürmek, yerel FPC sistemlerinde baytlarını yeniden kodlayabilir

Klasik tanımlı adlar ve dizi-formül blokları

TXLSCustomName deferred compilationClearDefinition derlenmiş RefersTo AST'yi saklanan tanım dizesini ve ham içe aktarılmış NAME baytlarını tutarak serbest bırakır; Compile AST'yi saklanan tanımdan yeniden kurar ve başarıyı bildirir; GetCompiledFormula otomatik yeniden derler, böylece temizlenmiş bir ad bir sonraki okumasında yeniden çözülür; PeekCompiledFormula o yeniden derlemeyi tetiklemeden güncel AST'yi döndürür ve StoredDefinition ayrıştırılmamış tanım kaynağını açığa çıkarır
TXLSCustomName identity and flagsStoreIndex adın koleksiyon içindeki depolama konumunu, NameID hesaplama motorunun kullandığı çalışma kitabı benzersiz sayısal kimliğini açığa çıkarır; IsHidden ve IsMacro BIFF NAME kaydı gizli ve makro bayraklarını okur ve yazar
TXLSFormulatArray.RowsCount, ColsCountAyrıştırılmış dizi-formül bloğunun satır ve sütun boyutlarını bildirir; her ikisi 1'de başlar ve yazım yöntemlerinin taşıdığı hücre başına öğe alanını sınırlar

Klasik yazı tipi, biçim ve stil havuzları

TXLSFontList stored font attributesİndeksli özellikler 0 tabanlı liste indeksinde saklanan yazı tipi anahtarını yansıtır: Name, Size, ColorIndex, Bold, Italic, Strikethrough ve Underline, salt okunur inceleme için OutLineFont, Shadow, SubScript, SuperScript, Family ve CharSet'e katılır
TXLSNumFormatList.AddValue, FmtExistsAddValue bir biçim dizgesi kaydeder ve indeksini döndürür; yerleşik biçim yazımlarını kanonik kimliklerine eşler ve tarih ile saat biçimlerini işaretler; FmtExists özel bir biçim dizgesinin hâlâ kayıtlı olup olmadığını bildirir
TXLSNumFormatList.IsDateFormat, IsDateFormatValueIsDateFormat bir indekste saklanan biçimin tarih veya saat biçimi işaretli olup olmadığını bildirir; IsDateFormatValue ise bir biçim dizgesini doğrudan tarih ve saat belirteçleri için sınar
TXLSStyles.AddStyle, AddBuiltinStyleAddStyle, XF kayıt indeksine bağlı adlandırılmış özel bir hücre stili kaydeder; AddBuiltinStyle yerleşik kimliğiyle birlikte satır ve sütun düzey stillerinin kullandığı anahat düzeyini taşıyarak yerleşik bir hücre stili kaydeder
TXLSStyles.BuiltinStyleName0 ile 53 arasındaki yerleşik kimlikler için kanonik Excel yerleşik hücre stili görüntü adını döndüren sınıf işlevi; aralık dışı kimlikler boş ad döndürür, böylece yazarlar ham builtin-bayt biçimine düşer

Paket ve ikili depolama yardımcıları

TXLSXOpaquePackageLoadWorkbookXmlMetadata çalışma kitabı düzeyindeki XML durumunu yakalar, MarkAllPartsClean kirli bayraklarını sıfırlar; WorkbookExtLstXml ve WorkbookRootAttributesXml korunan çalışma kitabı XML parçalarını açığa çıkarır; IsDiscardedPart bir bölüm adının web eklentisi temizliği gibi bir atma işlemiyle kaldırılıp kaldırılmadığını bildirir
TXLSFileStorageLoad, LoadFolder, Writeve WriteFolder bileşik dosya içeriğini aktarır; Child ve Count , her biri bir TXLSFileItem olan alt girdileri numaralandırır — bu, TXLSFileStream alt sınıfının saklanan baytları TXLSBlob 'ın yük uzunluğunu bildirdiği bir DataSize olarak taşıdığı adlandırılmış bir depolama düğümüdür
TXLSBlobAdd başka bir blob ekler; AddByte, AddWord, AddLong, AddDouble, AddStringve AddWideString türlenmiş değerler ekler; CopyData, CopyMem, FillByte, Write, Clear, Resetve Dump içeriği yönetir; Buff ve DataLength depolamayı açığa çıkarır
TXLSBlobListAppend, AppendList, CopyDatave Write girdileri birleştirir veya yayar; Entries ve TotalSize liste durumunu açığa çıkarır
TXLSWideStringBuilderAddString metin ekler ve Length birikmiş karakter sayısını bildirir

Çizim ve çalışma kitabı görüntüleyici ekleri

TXLSFillFormatPictureFill resim destekli bir şekil dolgusu yapılandırır; FillType ise yazıcının yaydığı dolgu türünü (düz, degrade, resim veya hazır doku) seçer
TXLSShapesAddScrollBar ve AddSpinner form denetimleri oluşturur — döndürülen TXLSScrollBar ve TXLSSpinner nesneleri denetim geometrisini ve bağlı hücreyi açığa çıkarır, spinner ayrıca Min, Maxve Inc adım sınırlarını ekler — RegisterScrollBar ve RegisterSpinner ise bir çalışma kitabından yüklenen denetimleri kaydeder
TXLSWorkbookViewerCanUndo ve CanRedo işlem geçmişi kullanılabilirliğini bildirir; ClearSelectedRange, CopySelectedRange, PasteSelectedRange ve PasteText seçili aralık üzerinde çalışır; ReferencePickMode etkileşimli hücre veya aralık başvurusu seçimini etkinleştirir
TXLSWorkbookEditHistorylxWorkbookViewer içindeki başsız içerik işlem motoru, ödünç alınan bir klasik veya XLSX çalışma kitabını bağlar ve aralık koruması ön uçuşu, Unicode metin kopyalama ve yapıştırma, aralık temizleme ve işlem başına tek undo/redo işlemi sağlar; başsız düzenleme işlemleri bölümüne bakın
TXLSCellContentSnapshotHer iki çalışma sayfası sınıfı da kaynak çalışma sayfasında 1 tabanlı koordinatlarda ayrık yerel içerik yakalama ve geri yükleme için ReadCellContent(Row, Col) ile RestoreCellContent(Snapshot) üyelerini açığa çıkarır; yakalama formülleri değerlendirmez, yok olan hücreler oluşturmaz veya paketlenmiş depolamayı somutlaştırmaz ve değişmez NativeData yükü zengin metni, formül önbelleklerini ve hücre stilini korur; doğrudan geri yükleme, caller'ın korumayı ve yapısal sınırları doğrulaması gereken düşük düzeyli bir işlemdir

Sayfalandırma, görüntü çıktısı ve yazdırma

XLSValidateCachedChartSceneModel, XLSRecordCachedChartSceneÖnbellekli grafik meta verisini hücreleri çözmeden ön uçuştan geçirir ve lxPortableChart içinde ayrık bir grafik için sınırlı vektör ve metin ilkel öğelerini kaydeder; TXLSPortableSceneObjects ile öğe, bayt ve metin sayımı döndürür; lxPagination giriş noktaları mevcut Windows caller'ları için aynı paylaşılan uygulamayı tutar; güncel alt küme tek bir birincil çizim grubuyla sıradan sütun, çubuk, çizgi, dağılım, pasta, halka ve tek serili alan grafiklerini kapsar; kayıt doğrulanmış yerel meta veri, sonlu kesin sıralı önbellek noktaları ve serbest bir grafik modeli gerektirir; önbellekli grafik kaydı bölümüne bakın
TXLSGraphicsBackendDrawTiledImage , bir sayfa arka planını kırpılmış sayfa bölgesi boyunca yinelenerek çizer
TXLSPaginationModelCompactRangeMode, IncludeDrawings, IncludeGridlines, IncludeCellBordersve PaintPageBackground sayfa içeriğini denetler; RenderDPI, RenderColorModeve RenderSession çıktı çözünürlüğünü, renk işlemeyi ve etkin işleme oturumunu açığa çıkarır
TXLSCellImageExporterMeasure , klasik ya da XLSX aralıkları için piksel boyutlarını hesaplar; ImageFormat, JpegQuality, MaxPixels, MaxBytes, IncludeObjects, IncludeGridlines, IncludeCellBorders, BackgroundColor, TransparentBackground, BeforePaint, AfterPaintve PaginationModel işlemeyi yapılandırır ve gözlemler
TXLSPageImageExporterBeforePaint, AfterPaint, MaxPixels, MaxBytes, BackgroundColorve TransparentBackground , aynı çizim kancalarını ve çıktı güvenlik sınırlarını sayfalanmış görüntü dışa aktarmaya uygular
TXLSPrintDocumentPrintWorksheet, PrintWorkbookve PrintAllVisibleSheets , klasik ya da XLSX içeriğini VCL yazıcısına gönderir; FirstPage, PrintRangeOnly, Collate, Copies, OnBeforeNewPageve OnAfterGeneratePage yazdırma işini denetler

Klasik grafik modelleri ve çalışma sayfası grafik nesneleri

TXLSXChartSeriesLineVisible, LineColorRGB ve LineWidthPoints bağımsız bir seri konturunu tanımlar; LineStyleSet, LineColorSet ve LineWidthSet açık ayarları korur ve EffectiveLineVisible eski yalnızca-dolgu kuralını çözer; MarkerFillSet ve MarkerBorderSet açık siyahı otomatik işaretçi renklerinden ayırır; çizgi ve dağılım taşınabilir kaydı 2 ile 72 punto arası daire çaplarını destekler; renk ve genişlik setter'ları mutasyondan önce doğrular ve çalışma kitabı okuma kiralarına uyar
TXLSChartSeriesAddTrendline ve AddErrorBars türlenmiş seri ek açıklamaları oluşturur; TrendlineCount ve ErrorBarCount koleksiyon boyutlarını bildirir; mevcut MarkerSize alanı ham BIFF twips tutarken salt okunur MarkerSizePoints getter'ı kesirli punto boyutları dahil o değeri 20'ye bölerek döndürür
TXLSChartAxisHasAxcExtFlag , çağıranlardan bit maskesini çözmelerini istemeden tek bir ham AXCEXT bayrağını sınar
TXLSChartModelAxisGroupCount , grafikten çözümlenen birincil ve ikincil eksen gruplarının sayısını bildirir
TXLSCustomChartAddAreaData , kaydetme anındaki formül yeniden bağlaması için önceden oluşturulmuş bir alan (area) öğesi ekler; ApplyDateAxisModel ise ham grafik kayıtlarına türlenmiş bir tarih ekseni modeli uygular; GetStoredRecordInfo tahsis yapmadan 0 tabanlı bir kayıt kimliği ve bayt sayısını okurken ReadStoredRecord(Index, MaxBytes), TXLSChartStoredRecord içinde ayrık baytları döndürmeden önce bayt sınırını denetler; formülleri değerlendirmez veya önbellekleri değiştirmez
TXLSWorksheetAddChartObject , çalışma sayfasına bir grafik çerçevesi sabitler ve onu paylaşılan grafik oluşturucuya bağlar
TXLSXChartLayoutResolverTryResolve , isteğe bağlı boyut doğrulamasıyla tek bir yerleşim dikdörtgeni çözümler; ResolveChart ise grafik, başlık, gösterge, çizim ve eksen dikdörtgenlerini hesaplar

Türlenmiş grafik çözme modeli

Çözümlenen grafik durumu, sade kayıtlar ve enum'lar olarak açığa çıkarılır; böylece inceleme kodunun ham BIFF kayıtlarında gezinmesi gerekmez: TXLSChartInfo , TXLSChartTypeFamily (cfBar, cfLine, cfPie, cfArea, cfScatter, cfRadar, cfDoughnut, cfSurface, cfBubble) ile birlikte çözümlenmiş grafik özetini taşır; her seri TXLSChartSeriesTypebildirir, TXLSChart3DState ve TXLSChart3DInfo ise üç boyutlu görünümleri tanımlar. TXLSChartAxisType (catCategory, catValue, catSeries, catDate) ve TXLSChartLegendPosition eksenleri ve göstergeleri sınıflandırır; tarih ekseni modeli ise TXLSChartDateUnit (xcduDays, xcduMonths, xcduYears) ve TXLSChartDateValueskullanır. TXLSCustomChart , çözümlenen modeli TXLSChartInfoüzerinden açığa çıkarır; trend çizgisi ve hata çubuğu ek açıklamaları, her seriden ulaşılabilen türlenmiş nesnelerdir (TXLSChartTrendline, TXLSChartErrorBars)

Grafik oluşturma kayıtları

Grafik sayfası ve oluşturucu yazımı, nesne ağaçları yerine sade kayıtları kabul eder: TXLSChartTrendlineInfo, TXLSChartErrorBarsInfo, TXLSChartDataLabelsInfove TXLSChartSeriesStyleInfo , TXLSWorksheets.AddChartSheet ve paylaşılan grafik oluşturucuya geçirilen seri girdilerini doldurur; TXLSPivotChartInfo ise bir grafik pivot tabloya bağlandığında kullanılan pivot grafik çerçevelemesini tanımlar

Klasik grafik dolgu incelemesi

TXLSCustomChart.GetChartModel, GelFrame kayıtlarında desteklenen yerel OfficeArt özellik tablolarını ve üçüncü özellik tablolarını — karmaşık yük girdilerini izleyen özellikler dahil — çözer; mevcut oluşturucu gösterimi desteklenmiş kalır ve bozuk tablo sınırları önceki türlü dolguyu değişmeden bırakıp desteklenmeyen kaydı bildirir

Grafik incelemesi, türlü durumu eklemeden önce eksiksiz saklanan metni ve ek açıklama yükünü doğrular: kırpılmış trend çizgisi adları veya veri etiketi ayırıcıları kayıt kimliklerini _UnsupportedSemanticRecordID üzerinden bildirir; nil veya eksik boyutlu SeriesText başlıkları ise o kaydı hem BIFF5 hem BIFF8 için desteklenmeyen olarak bildirir; yükünü aşan bildirilen bir seri-metin boyutu EReadError fırlatır, eksik modeli serbest bırakır ve saklanan grafik kayıtlarını değişmeden bırakır

İşaretçi getter'ı ve dolgu incelemesi ham grafik depolamasını korur; bildirilen görünüm yakalama yolu desteklenen çekirdek grafikleri ayrıca doğrularken doğrulanmamış zengin başlık veya şekil uzantısı sağlamaları desteklenmeyen kalır

Sınırlı saklanan grafik, dize ve yazı tipi okuyucuları

TXLSChartStoredBytes ayrık bir bayt dizisidir ve TXLSChartStoredRecord RecordId ile Data içerir; bu okuyucular çözülmüş bir grafik modeli oluşturmadan veya formülleri değerlendirmeden tutulan kaynak depolamasını inceler

TXLSCustomChart.GetStoredRecordInfoYükünü kopyalamadan 0 tabanlı bir kayıt indeksi için kayıt kimliği ve sayımlı bayt uzunluğu döndürür
TXLSCustomChart.ReadStoredRecordİndeksi ve negatif-olmayan MaxBytes'i doğruladıktan sonra bir yükü kopyalar; varsayılan bayt sınırı High(Int64)'tür
TXLSCustomChart.ReadStoredFormulaLeafInfoTam kaynak hesaplayıcıyı ve negatif-olmayan bayt ile metin kotalarını kullanarak tutarlı saklanan bir BRAI yaprağını inceler; yabancı hesaplayıcılar veya çeviri sahipleri desteklenmeyen yaprak döndürür ve AllowUnboundBiff varsayılan False'tur
TXLSCustomChart.ReadStoredFormulaLiteralAynı köken ve kota denetimlerinden sonra yalnızca ayrık bir literal döndürür; desteklenmeyen bir yaprak EInvalidOperation fırlatır
TXLSCustomChart.SourceBiffVersion, SourceCodePageTutulan grafik kayıtlarının salt okunur kökeni
TXLSStringTable.GetStoredStringLength, ReadStoredStringTablonun 1 tabanlı dize kimliğini kullanarak mevcut UTF-16 depolamasını sayar ve negatif-olmayan karakter kotası kapsıyorsa yalnızca o zaman kopyalar; geçersiz kimlikler ve eksiksiz olmayan UTF-16 depolaması reddedilir
TXLSFontList.GetStoredNameLength, ReadStoredNameNegatif-olmayan bir karakter kotası altında adını saymadan veya kopyalamadan önce listenin 0 tabanlı indeksinde saklanan yazı tipi anahtarını denetler
TMsoFbtOptItem.HasStoredUnicodeStringBir dize somutlaştırmadan sınırlı saklanan karmaşık Unicode dize meta verisini denetler
TMsoShapeContainer.HasOrdinaryChartObjectDataSaklanan grafik nesnesi türünü, sıfırdan-farklı nesne kimliğini, desteklenen bayrakları ve bilinmeyen nesne-kuyruğu verisinin yokluğunu denetler

Paylaşılan dize tablosu bakımı ve SST yayımı

lxStringTable ünitesindeki TXLSStringTable, klasik çalışma kitabının paylaşılan dizelerini destekler; aşağıdaki üyeler okuyucu tarafı kaydı, yuva bakımı ve gidiş dönüşlü kaydetmeler için ham SST yayımını kapsar

KeyExists, AddWithExtrasKeyExists bir dizenin hâlâ bir yuva kaplayıp kaplamadığını bildirir; AddWithExtras, Add'in okuyucu tarafı eşliğidir ve ham rgRun zengin metin ile rgExtRst fonetik yükünü girdiye, referans sayısını yükseltmeden ekler; çünkü her referanslı hücre daha sonra sayımı normal ekleme yoluyla geri yükler
Replace, ReplaceIndexReplace eski yuvada bir referans bırakır (sayısı sıfıra inince serbest bırakır) ve metni yeniden ekleyip sonuçlanan yuvayı döndürür; ReplaceIndex metni kopyalamadan bir referansı eski yuvadan yeni yuvaya taşır
AddSSTData, InitExtIndexAddSSTData ham SST yükünü yazıcının blob listesine yayar; font-run yeniden haritalama tablosu alan aşırı yükleme, çıkış sırasında her FormatRun yazı tipi indeksini yeniden yazar ([MS-XLS] §2.5.129) böylece zengin bölümler kaydetme zamanı yazı tipi yeniden sıralamasını izler; boş bir tablo geleneksel kelimesi-kelimesine yayımı korur ve InitExtIndex, yayımdan önce ExtSST kovalarını canlı yuvalar üzerinde numaralandırır
SlotCount, ExtIndex, ParsedExtSSTDsst, ParsedExtSSTItemCount, BiffSizeLimitSlotCount, silinmiş yuvaların boş okunduğu yuva yinelemesi için 1 tabanlı üst sınırdır; ExtIndex bir yuvayı ExtSST kova numarasına çözer veya canlı olmayan yuva için -1 döndürür; ParsedExtSSTDsst ve ParsedExtSSTItemCount içe aktarılan EXT/SST başlık değerlerini korur; BiffSizeLimit her yayılan kayıt parçasını sınırlar — klasik yazar BIFF5 için 2080, BIFF8 için 8224 bayt ayarlar

PDF ekleri, imzalar ve HTML dışa aktarma

IXLSPDFAttachmentSourceWriteTo , ek baytlarını PDF dışa aktarmaya akıtır; dışa aktarıcının kaynak verinin sahibi olmasını gerektirmez
TXLSPDFExportAttachmentDuplicatePolicy yinelenen ad işlemesini seçer, AttachmentSpoolThreshold ek birikimini (spooling) denetler, DocumentLanguage ise belge dili meta verisini yazar
TXLSPDFSignatureTextAlign, TextSize, TextColor, TextBoldve TextItalic görünür imza görünümünü yapılandırır
TXLSHTMLExportViewMode (tür TXLSHtmlViewMode: geçerli görünüm veya tam e-tablo tablosu) HTML sunumunu seçer; HotTrackTargets ( TXLSHtmlHotTrackTargetkümesi) ve HotTrackColor etkileşimli hücre ve nesne vurgulamasını yapılandırır
TXLSXHtmlExportOptionsViewMode, HotTrackTargetsve HotTrackColor , eşdeğer XLSX HTML dışa aktarma denetimlerini sağlar

Hesaplama denetimi ve çalışma kitabı denetimleri

TXLSCalculationAuditReportTruncated sorun sınırı kısaltmasını, StackTruncated çağrı yığını çerçevesi kısaltmasını bildirir; Issues kaydedilen hesaplama sorunlarını indeksler
TXLSUserFunctionRegistryGeneration , kayıtlı kullanıcı işlevi kümesi her değiştiğinde değişir; böylece önbelleğe alınmış formül bağlamaları geçersiz kılınabilir
EXLSReportRecoverableDataCategory , çağırana sunulan kurtarılabilir rapor verisi kategorisini tanımlar
IXLSWorkBookManualCalculationThreadCount , el ile hesaplamanın kullandığı işçi sayısını sınırlar
TXLSXDataValidationHasUnknownImeMode , HotXLS'in koruduğu ancak tanımadığı bir IME modu değerini bildirir
TXLSXTableColumnCalculatedFormulaArrayRaw ve ColumnTotalsFormulaArrayRaw , tablo sütunlarının özgün dizi-formül metnini açığa çıkarır

Eski PivotCache çerçeveleme uyumluluğu

TXLSPivotCacheRawBucketIndex kaynak alt akış konumunu tanımlar, RawFramingIsLegacy eski bir HotXLS çerçevelemesini tanımlar; RawModelIsComplete türlenmiş modelin her kaydı temsil edip etmediğini bildirir, CanUpgradeFraming ise isteğe bağlı türlenmiş yeniden yazımın güvenli olup olmadığını bildirir
TXLSPivotCacheStreamId klasik önbellek akışı kimliğini açığa çıkarır, SourceDataType klasik kaynak veri türünü açığa çıkarır; RawHasStorageStream , yüklenen önbelleğin bağımsız bir PivotCache depolama akışından gelip gelmediğini bildirir
TXLSWorkbookUpgradeLegacyPivotCacheFraming , yalnızca türlenmiş modeli eksiksiz olan eski HotXLS önbellek çerçevelemelerinin yeniden yazımını kabul eder (opt-in); sıradan ham önbellek yeniden oynatımı varsayılan olarak kalır

StreamId , SXStreamID kaydı olarak yazılır ([MS-XLS] §2.4.303) ve SXDB başlığındaki idstm alanı olarak yinelenir; bu alan ona eşit olmalıdır. SourceDataType , SXVS kaydı olarak yazılır ([MS-XLS] §2.4.317: $0001 çalışma sayfası, $0002 harici, $0004 konsolidasyon, $0010 senaryo) ve SXDB başlığındaki vsType alanı olarak yinelenir; bu alan da ona eşit olmalıdır. Bir çalışma sayfası aralığından oluşturulan önbellekler çalışma sayfası türüyle başlar; bir dosyadan geri okunan önbellekler ise alt akışlarının taşıdığı değeri korur, böylece BIFF yazıcısı asla yaymadığı bir kaydı adlandıran bir SXDB alanı bırakmaz. RawHasStorageStream , kendi depolama akışından yüklenen ve çalışma kitabı kapsamlı tanımlayıcısı önbellek kayıtlarından önce gelen önbelleği işaretler

Pano tümleştirmesi ve yapıştırma seçenekleri

TXLSPasteOption = (xlpoValuesOnly, xlpoInsertRows, xlpoInsertCols);
TXLSPasteOptions = set of TXLSPasteOption;

function XLSGetClipboardText: WideString;
function XLSSetClipboardText(const Text: WideString): Boolean;
function XLSSetClipboardTextAndHtml(const Text: WideString;
  const Html: AnsiString): Boolean;
function XLSBuildHtmlClipboard(const Html: AnsiString): AnsiString;
function XLSEncodeClipboardField(const Text: WideString): WideString;
function XLSClipboardHasText: Boolean;
function XLSParseClipboardGrid(const ClipboardText: WideString;
  Loader: TXLSCSVLoader): Boolean;
function XLSClipboardHasXmlSpreadsheet: Boolean;
function XLSGetClipboardXmlSpreadsheet: WideString;
function XLSParseXmlSpreadsheet(const XmlText: WideString;
  Loader: TXLSCSVLoader): Boolean;
function XLSClipboardHasBiff8: Boolean;
function XLSGetClipboardBiff8: AnsiString;
function XLSReadClipboardPasteData(out Biff8: AnsiString;
  out Text: WideString): Boolean;
function XLSSetClipboardBiff8(const Biff8: AnsiString;
  const Text: WideString; const Html: AnsiString = ''): Boolean;
      
Yapıştırma seçenekleri her iki cephenin (facade) PasteFromClipboard aşırı yüklemeleri tarafından paylaşılır: xlpoValuesOnly formül hücrelerinin önbellekteki değerlerini korur ve biçimlendirmeyi ile birleştirmeleri atlar; xlpoInsertRows ve xlpoInsertCols ise blok yerleşmeden önce mevcut içeriği kaydırır
Yardımcılar, e-tablo birlikte çalışabilirliği için Windows panosunu sarmalar: metin yardımcıları CF_UNICODETEXT kullanır (geçerli ANSI kod sayfası üzerinden CF_TEXT 'e düşer), XLSSetClipboardTextAndHtml metni ve biçimli bir HTML Format yükünü tek işlemde yazar, XLSBuildHtmlClipboard bir belge ya da parça için CF_HTML bayt ofsetlerini hesaplar, XLSEncodeClipboardField ise tek bir sekmeye göre ayrılmış alanı tırnak içine alır. XLSParseClipboardGrid , pano metnini TXLSCSVLoader 'un CSV için kullandığı tür algılamayla sekmeye göre ayrılmış satırlar olarak ayrıştırır; XLSParseXmlSpreadsheet , XLSGetClipboardXmlSpreadsheet ile alınan bir SpreadsheetML 2003 yükü üzerinde aynı yükleyici doldurmasını çalıştırır; Biff8 yardımcıları ise Excel'in panoya kendisinin koyduğu yerel akışı algılar ve okur, böylece yapıştırılan veriler metin kaybı olmadan değerlerini, formüllerini ve biçimlendirmesini korur
XLSReadClipboardPasteData , Biff8 akışını ve Unicode metni tek bir pano kilidi altında yakalar; böylece yapıştırmanın iki okuma arasında panoyu yeniden açması gerekmez ve biçimlerin hiçbiri eşzamanlı bir tutucuya kaptırılmaz. XLSSetClipboardBiff8 buna karşılık gelen yazma tarafıdır: BIFF8 bileşik dosya akışını, sekmeye göre ayrılmış Unicode metni ve isteğe bağlı CF_HTML yükünü tek işlemde yerleştirir — eşlik eden biçimlerden birini atlamak için boş bir Text veya Html geçin; Biff8 parçası zorunludur

Hücre görüntü metni çözümlemesi

TXLSCellDisplayMode = (xcdmFormattedValue, xcdmFormulaText,
  xcdmSuppressedZero);

TXLSCellDisplayOptions = record
  ShowFormulas: Boolean;
  ShowZeros: Boolean;
  SheetProtected: Boolean;
  FormulaWidthFactor: Double;
  DateSerialZero: Double;
end;

TXLSCellDisplayInput = record
  HasFormula: Boolean;
  FormulaHidden: Boolean;
  IsNumericZero: Boolean;
  FormulaText: WideString;
  FormattedText: WideString;
end;

TXLSCellDisplayResult = record
  Mode: TXLSCellDisplayMode;
  Text: WideString;
  TreatAsText: Boolean;
  EffectiveWidthFactor: Double;
end;

function XLSDefaultCellDisplayOptions: TXLSCellDisplayOptions;
function XLSNormalizeFormulaDisplayText(const FormulaText: WideString): WideString;
function XLSResolveCellDisplay(const Options: TXLSCellDisplayOptions;
  const Input: TXLSCellDisplayInput): TXLSCellDisplayResult;
      
Tek bir paylaşılan çözümleyici, belirli bir görünüm durumu için hücrenin ne göstereceğine karar verir: değerler yerine formüller, bastırılmış sıfırlar, korumalı sayfalarda gizlenen formül metni ve Excel'in formül görüntüsüne uyguladığı iki kat genişlik çarpanı. Çalışma kitabı görüntüleyicisi ve işleyiciler (renderer) buna kendi görüntüleme seçenekleri giriş noktalarından ulaşır; uygulamalar da XLSResolveCellDisplay 'i kendi giriş kayıtlarıyla doğrudan çağırabilir. XLSDefaultCellDisplayOptions kanonik varsayılanları döndürür, XLSNormalizeFormulaDisplayText ise bir formül dizgesini görüntüleme için normalleştirir

Klasik veri doğrulama nesneleri

TXLSDataValidationType = (xlsDvAny, xlsDvWhole, xlsDvDecimal, xlsDvList,
  xlsDvDate, xlsDvTime, xlsDvTextLength, xlsDvCustom);
TXLSDvErrorStyle = (xlsDvErrStop, xlsDvErrWarning, xlsDvErrInformation);

TDVRange = class;             { one validation rule over one or more ranges }
TDVRangeList = class;         { the per-sheet rule collection }
TDataValidator = class;       { engine that checks edits against the rules }
      
Türlenmiş TXLSWorksheet.Add*Validation yardımcıları, sayfanın TDVRange koleksiyonunda TDVRangeListkuralları oluşturur; her kural kendi TXLSDataValidationTypetürünü, sınırlarını, giriş ve hata iletilerini ve TXLSDvErrorStylestilini taşır. TDataValidator bir düzenlemeyi kurallara göre değerlendirir ve değerin kabul edilebilir olup olmadığını bildirir; Excel'in kendi veri doğrulama uyarılarının ardındaki denetim de budur

İndeksli renk taraması ve çözümlemesi

TXLSIndexedColorKind = (xickPalette, xickAutomatic, xickSystem, xickInvalid);
TXLSSystemColorRole = (xscrNone, xscrWindowText, xscrWindowBackground,
  xscrChartText, xscrChartBackground, xscrChartNeutral, xscrToolTipText);

TXLSIndexedColorResolution = record
  Kind: TXLSIndexedColorKind;
  RawIndex: Int64;
  PaletteSlot: Integer;
  SystemColorRole: TXLSSystemColorRole;
  ARGB: LongWord;
  HasResolvedColor: Boolean;
end;

TXLSNearestIndexedColorMatch = record
  InputARGB: LongWord;
  ColorIndex: Integer;
  PaletteSlot: Integer;
  ARGB: LongWord;
  DistanceSquared: Double;
  ExactMatch: Boolean;
end;

TXLSIndexedColorUsageKind = (xicukFont, xicukFillForeground,
  xicukFillBackground, xicukGradient, xicukBorder, xicukConditionalFormat,
  xicukChart, xicukShape, xicukComment, xicukWorksheet, xicukOther);
      
Bu kayıtlar, çalışma kitabı düzeyindeki ResolveIndexedColor, NearestIndexedColorve ScanIndexedColorUsage yöntemlerinin ardındadır: çözümleme, indeksli bir belirtecin dört TXLSIndexedColorKind kaynağından hangisinden geldiğini; palet yuvasını, sistem rengi rolünü ve normalleştirilmiş ARGB değeriyle birlikte bildirir. En yakın eşleme, karesel RGB uzaklığını ve tam eşleşme bayrağını ekler; kullanım taraması ise bir palet yuvasını kilitleyen her tüketici kategorisini etiketler. Kitaplık, palet jenerasyonuyla anahtarlanan bir iç TXLSIndexedColorMatcher önbelleği tutar — FindNearest en yakın renk sorgularını buradan yanıtlar, UpdateSlot tek bir palet yuvasını yamalar — böylece yinelenen çözümlemeler bellek ayırma yapmadan geçer

A1 başvuru yardımcıları

function XLSA1CellRef(ARow, ACol: Integer): WideString;
function XLSTryParseA1CellRef(const ARef: WideString;
  out ARow, ACol: Integer): Boolean;
function XLSTryParseA1RangeRef(const ARef: WideString;
  out ARow1, ACol1, ARow2, ACol2: Integer): Boolean;
      
Çalışma kitabı API'lerinin kabul ettiği aynı A1 gösterimi için bağımsız yardımcılar: 0 tabanlı koordinatları bir A1 hücre başvurusu olarak biçimlendirir, hücre ya da aralık başvurularını geri ayrıştırır ve bozuk girdi için istisna fırlatmak yerine False döndürür

Ayrıca bkz.