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
TXLSAutofilter | Add, 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 |
TXLSAutofilterItem | Shape , öğ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 |
TXLSDataBarSpec | AxisColor, 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 |
TXLSIconSetSpec | ThresholdEqualsInclude her simge eşiği için kapsayıcı ya da kapsayıcı olmayan karşılaştırma seçer |
TXLSCfValue | IsIndexedColor 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
TXLSDataTable | Assign, 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 |
TXLSDataTables | Add, 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 |
TXLSPivotCacheField | GroupBaseField 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
TXLSDiagnostic | Code, NativeCode, Message, Severity, ExceptionClass, PartName, RecordId, SheetIndex, SheetNameve StreamOffset tek bir ayrıştırıcı, yazıcı veya paket tanılamasını tanımlar |
TXLSDiagnostics | Add bir tanılama ekler, Clear koleksiyonu sıfırlar; Count ve Items girdilerini numaralandırır |
TXLSDiagnosticSeverity and TXLSDiagnosticOperation | TXLSDiagnosticSeverity (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 |
TXLSFormulaDebugSession | CurrentStep, DependencyCount, NodeCountve StepCount geçerli hata ayıklayıcı anlık görüntüsünü ve iz boyutlarını açığa çıkarır |
TXLSFormulaTracer | StepCount kaydedilen değerlendirme adımlarının sayısını bildirir |
TXLSImportCheck | AddRule, 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
TlxImportColumnRule | Column, 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 |
TlxImportRuleFlags | irRequired, 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 |
TlxImportValueKind | ivkAny 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 |
TlxImportDateSerialMode | idsNone 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): TlxImportUniqueRule | Sı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): TlxImportCrossColumnRule | Salt 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 |
TlxImportComparison | icEqual, 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ı
TlxImportViolation | Row, 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 |
TlxImportViolationKind | ivRequired, 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
Dış bağlantı kaydetme ilkeleri
TXLSExternalLinkUpdateMode = (xluPromptUser, xluNever, xluAlways);
property IXLSWorkbook.SaveExternalLinkValues: Boolean;
property IXLSWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
property TXLSXWorkbook.SaveExternalLinkValues: Boolean;
property TXLSXWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
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ırAbsoluteTolerance 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ştirmezTXLSCalculationAuditReport.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ırRunCalculationAudit , ç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)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 gelirTablo 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;
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
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;
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;
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
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;
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]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
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
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
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
TXLSHTMLImport | LoadFromHTML 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 |
TXLSCodeGen | Language (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) |
TXLSXWorkbookCompare | Compare 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 |
TXLSFileMonitor | IntervalMs 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 TXLSCSVSaver | Yü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
lcoFormulaCachedResults | Formü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 |
lcoCellStyles | Eş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 |
lcoAxisGeometry | Etkin 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 |
lcoDataValidations | Doğ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 |
lcoConditionalFormats | Koş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 |
lcoTables | Tabloları 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 |
lcoDrawings | Tü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 |
lcoBlankStyleRegions | Her 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 |
lcoRichTextRuns | Eş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 |
lcoPivotTables | Tü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 |
lcoPivotCaches | Yerel 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 |
lcoSlicerState | Adlandı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 |
lcoTimelineState | Adlandı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ı
| Member | Contract |
|---|---|
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.AddRawString | AnsiString kod sayfası dönüşümü olmadan tam kodlanmış baytları ekler ve DataLength'i günceller; boş girdi bayt eklemez |
TXLSCalculator.CodePage, TXLSFormula.FCodePage | Açı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 compilation | ClearDefinition 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 flags | StoreIndex 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, ColsCount | Ayrış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, FmtExists | AddValue 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, IsDateFormatValue | IsDateFormat 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, AddBuiltinStyle | AddStyle, 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.BuiltinStyleName | 0 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ı
TXLSXOpaquePackage | LoadWorkbookXmlMetadata ç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 |
TXLSFileStorage | Load, 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 |
TXLSBlob | Add 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 |
TXLSBlobList | Append, AppendList, CopyDatave Write girdileri birleştirir veya yayar; Entries ve TotalSize liste durumunu açığa çıkarır |
TXLSWideStringBuilder | AddString metin ekler ve Length birikmiş karakter sayısını bildirir |
Çizim ve çalışma kitabı görüntüleyici ekleri
TXLSFillFormat | PictureFill 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 |
TXLSShapes | AddScrollBar 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 |
TXLSWorkbookViewer | CanUndo 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 |
TXLSWorkbookEditHistory | lxWorkbookViewer 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 |
TXLSCellContentSnapshot | Her 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 |
TXLSGraphicsBackend | DrawTiledImage , bir sayfa arka planını kırpılmış sayfa bölgesi boyunca yinelenerek çizer |
TXLSPaginationModel | CompactRangeMode, 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 |
TXLSCellImageExporter | Measure , 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 |
TXLSPageImageExporter | BeforePaint, 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 |
TXLSPrintDocument | PrintWorksheet, 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
TXLSXChartSeries | LineVisible, 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 |
TXLSChartSeries | AddTrendline 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 |
TXLSChartAxis | HasAxcExtFlag , çağıranlardan bit maskesini çözmelerini istemeden tek bir ham AXCEXT bayrağını sınar |
TXLSChartModel | AxisGroupCount , grafikten çözümlenen birincil ve ikincil eksen gruplarının sayısını bildirir |
TXLSCustomChart | AddAreaData , 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 |
TXLSWorksheet | AddChartObject , çalışma sayfasına bir grafik çerçevesi sabitler ve onu paylaşılan grafik oluşturucuya bağlar |
TXLSXChartLayoutResolver | TryResolve , 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.GetStoredRecordInfo | Yü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.ReadStoredFormulaLeafInfo | Tam 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.ReadStoredFormulaLiteral | Aynı 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, SourceCodePage | Tutulan grafik kayıtlarının salt okunur kökeni |
| TXLSStringTable.GetStoredStringLength, ReadStoredString | Tablonun 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, ReadStoredName | Negatif-olmayan bir karakter kotası altında adını saymadan veya kopyalamadan önce listenin 0 tabanlı indeksinde saklanan yazı tipi anahtarını denetler |
| TMsoFbtOptItem.HasStoredUnicodeString | Bir dize somutlaştırmadan sınırlı saklanan karmaşık Unicode dize meta verisini denetler |
| TMsoShapeContainer.HasOrdinaryChartObjectData | Saklanan 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, AddWithExtras | KeyExists 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, ReplaceIndex | Replace 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, InitExtIndex | AddSSTData 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, BiffSizeLimit | SlotCount, 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
IXLSPDFAttachmentSource | WriteTo , ek baytlarını PDF dışa aktarmaya akıtır; dışa aktarıcının kaynak verinin sahibi olmasını gerektirmez |
TXLSPDFExport | AttachmentDuplicatePolicy yinelenen ad işlemesini seçer, AttachmentSpoolThreshold ek birikimini (spooling) denetler, DocumentLanguage ise belge dili meta verisini yazar |
TXLSPDFSignature | TextAlign, TextSize, TextColor, TextBoldve TextItalic görünür imza görünümünü yapılandırır |
TXLSHTMLExport | ViewMode (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 |
TXLSXHtmlExportOptions | ViewMode, HotTrackTargetsve HotTrackColor , eşdeğer XLSX HTML dışa aktarma denetimlerini sağlar |
Hesaplama denetimi ve çalışma kitabı denetimleri
TXLSCalculationAuditReport | Truncated sorun sınırı kısaltmasını, StackTruncated çağrı yığını çerçevesi kısaltmasını bildirir; Issues kaydedilen hesaplama sorunlarını indeksler |
TXLSUserFunctionRegistry | Generation , 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 |
EXLSReportRecoverableData | Category , çağırana sunulan kurtarılabilir rapor verisi kategorisini tanımlar |
IXLSWorkBook | ManualCalculationThreadCount , el ile hesaplamanın kullandığı işçi sayısını sınırlar |
TXLSXDataValidation | HasUnknownImeMode , HotXLS'in koruduğu ancak tanımadığı bir IME modu değerini bildirir |
TXLSXTable | ColumnCalculatedFormulaArrayRaw ve ColumnTotalsFormulaArrayRaw , tablo sütunlarının özgün dizi-formül metnini açığa çıkarır |
Eski PivotCache çerçeveleme uyumluluğu
TXLSPivotCache | RawBucketIndex 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 |
TXLSPivotCache | StreamId 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 |
TXLSWorkbook | UpgradeLegacyPivotCacheFraming , 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;
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ırCF_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 korurXLSReadClipboardPasteData , 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ı zorunludurHü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;
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ştirirKlasik 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 }
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);
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çerA1 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;
False döndürür