lxHandleXtarafından bildirilen daha küçük genel API üyelerini kapsar; HTML dışa aktarma seçenekleri ve doğrudan XLSX hücre başvuruları veya XML yükü metniyle çalışan çağıranlar için yardımcı işlevler dahildir
property FormulaArrayMemoryLimit: Int64;
MUNITgibi üretilmiş formül dizilerinin ayırdığı yükü sınırlar, varsayılanı 64 MiB'dir, paralel yeniden hesaplama işçilerine uygulanır ve bir Double öğenin altındaki değerleri kırpar
type
TXLSXHtmlExportOptions = class
constructor Create;
property Title: WideString;
property WriteDocument: Boolean;
property IncludeStyles: Boolean;
property IncludeBOM: Boolean;
property TableClass: WideString;
end;
| Title | Sets the document title when WriteDocument True olduğunda belge başlığını ayarlar |
| WriteDocument | True olduğunda eksiksiz bir HTML belgesi yazar. False olduğunda yalnızca tablo parçasını yazar |
| IncludeStyles | Dışa aktarılan HTML'in üretilen CSS ve satır içi stil bilgisi içerip içermediğini denetler |
| IncludeBOM | Dosya ve akış çıktısının UTF-8 BOM ile başlayıp başlamadığını denetler |
| TableClass | Üretilen <table> öğesine bir CSS sınıfı adı ekler |
function XlsxColumnLabel(Col: Integer): WideString;
function XlsxCellRef(Row, Col: Integer): WideString;
function XlsxColumnIndex(const ColumnLabel: WideString): Integer;
function XlsxParseCellRef(const Ref: WideString; out Row, Col: Integer): Boolean;
function XlsxParseRangeRef(const Ref: WideString; out Row1, Col1, Row2, Col2: Integer): Boolean;
| XlsxColumnLabel | 1 tabanlı bir sütun dizinini A, Zveya AA |
| XlsxCellRef | 1 tabanlı satır ve sütun numaralarından A1 tarzı bir hücre başvurusu oluşturur |
| XlsxColumnIndex | A1 tarzı bir sütun etiketini 1 tabanlı bir sütun dizinine dönüştürür |
| XlsxParseCellRef | Tek bir A1 tarzı hücre başvurusunu ayrıştırır ve satır ve sütun koordinatlarını döndürür |
| XlsxParseRangeRef | Dikdörtgen bir A1 tarzı aralığı ayrıştırır ve kapsayıcı 1 tabanlı sınırları döndürür |
function XlsxEscapeText(const Value: WideString): WideString;
function XlsxEscapeAttr(const Value: WideString): WideString;
XlsxEscapeText , XML metin düğümü içeriğini kaçışlar; XlsxEscapeAttr ise XML öznitelik değerlerini kaçışlar ve Excel'in birebir okuması gereken öznitelik boşluklarını korur
Bu yardım dosyasında belgelenen gelişmiş XLSX üyeleri, lxHandleX
{ Find and replace }
TXLSXFindFlag = (lxfMatchCase, lxfWholeCell, lxfSearchFormulas,
lxfUseWildcards, lxfBackward, lxfByColumns);
TXLSXFindOptions = set of TXLSXFindFlag;
TXLSXReplaceAction = (raReplace, raSkip, raAbort);
TXLSXReplaceEvent = function(ARow, ACol: Integer;
const ACurrentText: WideString; var ANewText: WideString):
TXLSXReplaceAction of object;
{ Progress and recalculation policy }
TXLSXProgressPhase = (xlsxProgressReading, xlsxProgressWriting,
xlsxProgressCalculating, xlsxProgressExporting);
TXLSXProgressState = (ppsBegin, ppsWork, ppsEnd);
TXLSXRecalcMode = (xrmManual, xrmIfDirty, xrmAlways);
TXLSXPasswordEvent = procedure(Sender: TObject;
var PassWord: WideString) of object;
{ Custom document properties (docProps/custom.xml) }
TXLSXCustomPropType = (xcptText, xcptNumber, xcptDate, xcptBoolean);
TXLSXCustomProperty = class
Name: WideString;
PropType: TXLSXCustomPropType;
{ + TextValue, NumberValue, DateValue, BoolValue accessors }
end;
{ Table styles, fills, sorts, external links, controls, sparklines }
TXLSXTableStyleSectionKind = (xltssWholeTable, xltssHeaderRow,
xltssTotalRow, xltssFirstColumn, xltssLastColumn, xltssFirstRowStripe,
xltssSecondRowStripe, xltssFirstColumnStripe, xltssSecondColumnStripe,
xltssFirstHeaderCell, xltssLastHeaderCell, xltssFirstTotalCell,
xltssLastTotalCell { + subtotal and subheading slots });
TXLSXFillPattern = (xlsxFillNone, xlsxFillSolid, xlsxFillGray125
{ + the remaining ECMA-376 pattern values });
TXLSXGradientKind = (xlsxGradientNone, xlsxGradientLinear, xlsxGradientPath);
TXLSXSortBy = (xlsxBsValue, xlsxBsCellColor, xlsxBsFontColor, xlsxBsIcon);
TXLSXSortMethod = (xlsxSmNone, xlsxSmStroke, xlsxSmPinYin);
TXLSXExternalLinkKind = (xlsxExternalLinkUnknown, xlsxExternalLinkWorkbook,
xlsxExternalLinkDde { + the remaining link kinds });
TXLSXFormControlType = (xfcButton, xfcCheckBox, xfcRadioButton, xfcComboBox,
xfcListBox);
TXLSXSparklineAxisType = (xlsxSparklineAxisIndividual,
xlsxSparklineAxisGroup, xlsxSparklineAxisCustom);
TXLSXSparklineEmptyCells = (xlsxSparklineEmptyGap, xlsxSparklineEmptyZero,
xlsxSparklineEmptySpan);
{ Chart authoring and layout }
TXLSXChartBarGrouping = (xlsxBarGroupClustered, xlsxBarGroupStacked,
xlsxBarGroupPercentStacked);
TXLSXChartMarkerSymbol = (xlsxMarkerAuto, xlsxMarkerCircle, xlsxMarkerDash,
xlsxMarkerDiamond, xlsxMarkerDot, xlsxMarkerPlus, xlsxMarkerSquare,
xlsxMarkerStar, xlsxMarkerTriangle, xlsxMarkerX, xlsxMarkerNone);
TXLSXChartDataLabelPos = (xlsxDlblPosDefault, xlsxDlblPosCenter,
xlsxDlblPosInEnd, xlsxDlblPosOutEnd, xlsxDlblPosBestFit, xlsxDlblPosLeft,
xlsxDlblPosRight, xlsxDlblPosTop, xlsxDlblPosBottom);
TXLSXChartMutable = class; { mutable base of the chart model nodes }
TXLSXChartLayoutRect = record
Left, Top, Right, Bottom: Double;
end;
TXLSXChartResolvedLayout = record
ChartRect: TXLSXChartLayoutRect;
TitleRect: TXLSXChartLayoutRect;
LegendRect: TXLSXChartLayoutRect;
PlotOuterRect: TXLSXChartLayoutRect;
PlotInnerRect: TXLSXChartLayoutRect;
{ + per-axis title rectangles and visibility flags }
end;
{ Pagination keep-together blocks }
TXLSXKeepTogetherRange = record
Row1, Row2: Integer;
Level: Integer;
ReplaceBiggerLevels: Boolean;
end;
TXLSXKeepTogetherCols = record
Col1, Col2: Integer;
Level: Integer;
ReplaceBiggerLevels: Boolean;
end;
{ Diagnostics records }
TXLSXValidationIssue = record
Row, Col: Integer;
ValidationIndex: Integer;
Reason: WideString;
end;
TXLSXUnknownFunctionInfo = record
Sheet: Integer;
Row, Col: Integer;
Name: WideString;
LocationKind: TXLSFormulaSymbolLocationKind;
DefinedNameIndex: Integer;
DefinedName: WideString;
end;
TXLSXRowMajorOrder = record
CellOrder: array of Integer;
RowStarts: array of Integer;
MaxRow: Integer;
end;
| Find and replace | TXLSXWorksheet.FindText / FindTextIn , TXLSXFindOptions kabul eder (büyük/küçük harf eşleşmesi, tüm hücre, formül arama, joker karakterler, geriye doğru, sütun bazında); ReplaceText , eşleşme başına TXLSXReplaceEvent , raReplaceya da raSkipseçen ve hücre başına değişiklik için yazılabilir bir raAbort sunan bir ANewText alır |
| Progress and saving | TXLSXWorkbook.OnProgress / OnProgressEx , TXLSXProgressPhase ve (genişletilmiş biçimde) TXLSXProgressState bayraklı Abort iletir; RecalcBeforeSave , serileştirmeden önce elle, yalnızca kirli ya da her durumda yeniden hesaplama seçen bir TXLSXRecalcMode değeridir; OnPassword , açma ve yazma parolalarını sağlayan bir TXLSXPasswordEvent 'dir |
| Custom properties | TXLSXWorkbook.CustomProperties ; türlü TXLSXCustomProperties / AddText / AddNumber / AddDate oluşturucuları, AddBoolean , FindByNameve Deleteile Clearve Count numaralandırması sunan bir Items koleksiyonudur; her TXLSXCustomProperty , değerini ECMA-376 varyant eşlemesine uyan bir TXLSXCustomPropType ile etiketler |
| Style overlays | TXLSXStyleOverlays , saklanan stillerin üzerinde aralık başına geçersiz kılmaları yönetir: Add bir tane oluşturur, ApplyToCell tek bir hücreyi yeniden stiller; Resolve, ResolveRowDefaultve ResolveColumnDefault yükleme sırasında stil sorgularını yanıtlar, HasVirtualStyle üretilmiş stilleri bildirir, MaxVirtualRow sanal satırları sınırlar, ApplyStructuralEdit satır ya da sütun düzenlemelerinden sonra katmanları kaydırır; Clear, Countve Items koleksiyonu yönetir |
| Styles, fills, and overlays | TXLSXFill , Pattern, GradientKindve GradientStops öğelerini TXLSXFillPattern, TXLSXGradientKindve TXLSXGradientStopüzerinden açığa çıkarır; TXLSXWorksheet.StyleOverlays , girdileri bir dikdörtgen, etkilenen biçim parçaları ve geçersiz kılan hücre stili taşıyan TXLSXStyleOverlays girdileri içeren bir TXLSXStyleOverlay koleksiyonudur |
| Tables, sorts, and links | Özel tablo stilleri (TXLSXWorkbook.CustomTableStyles), bölüm biçimlendirmesini TXLSXTableStyleSectionKind yuvalarından kurar: koleksiyon Add, FindByName, Delete, Clear, Countve Itemssunar; her TXLSXCustomTableStyle ise Name, SectionSize, PivotStyleve TableStyleFlag açığa çıkarır ve HasSection / ResolveSection sorgularını yanıtlar; sıralama koşulları anahtarları TXLSXSortBy ile, metin sıralamasını TXLSXSortMethodile sınıflandırır; TXLSXExternalLink.Kind bir TXLSXExternalLinkKind değeridir ve her bağlantı, TXLSXExternalDefinedName ve Name taşıyan RefersTo |
| Custom XML parts | TXLSXWorkbook.CustomXmlParts , öğeye özel XML'i korur: Add, Deleteve Clear parçaları yönetir; her TXLSXCustomXmlPart yükünü Xml içinde taşır ve şema ilişkilerinden oluşan bir ItemId ile SchemaRefs dize listesi bulundurur (AddSchemaRef ekler); korunan parçalar kaydetmede dokunulmadan round-trip yapar |
| Cell style payloads | TXLSXCellStylePayload , tek tek hücrelere eklenen paylaştırılabilir, değişmez bir stil demetidir: Acquire / Release başvuru sayacını yönetir, Clone kopyalar, IsDefault varsayılan stili sınar ve InternKey eşit yükleri tanımlayarak depolamanın bunları tekilleştirmesini sağlar |
| Controls, drawings, and sparklines | TXLSXWorksheet.FormControls , TXLSXFormControls nesnelerinden oluşan bir TXLSXFormControl koleksiyonudur — her biri ControlType, Caption, MacroName, LinkedCellve Items listesini açığa çıkarır — TXLSXFormControlTypeile türlenir ve TXLSXFormControlItems , denetim başına öğe metnini tutar; çizim nesneleri türünü TXLSDrawingObjectKindile bildirirken sparkline grupları, eksen ölçeklemesini ve boş hücre davranışını TXLSXSparklineAxisType ve TXLSXSparklineEmptyCells |
| Charts | Çizim grupları ve seriler; çubuk gruplamasını, işaretçi simgelerini ve veri etiketi konumlarını TXLSXChartBarGrouping, TXLSXChartMarkerSymbolve TXLSXChartDataLabelPos enum'larıyla sınıflandırır; grafik modeli düğümleri TXLSXChartMutable taban sınıfını paylaşır ve TXLSXChartLayoutResolver.ResolveChart , grafik, başlık, gösterge, çizim ve eksen başlıkları için TXLSXChartResolvedLayout dikdörtgenlerinden oluşan bir TXLSXChartLayoutRect doldurur |
| Pagination keep blocks | KeepRowsTogether / KeepColumnsTogether , sayfa sonu planlamasının bir bloğu tek sayfada tutması için TXLSXKeepTogetherRange ve TXLSXKeepTogetherCols kayıtlarını yönetir |
| Diagnostics | TXLSXWorksheet.CheckDataValidations returns TXLSXValidationIssue kayıtları döndürür (hücre, doğrulama indeksi, neden); TXLSXWorkbook.ScanUnknownFunctions , hücrelerdeki ve tanımlı adlardaki uygulanmamış çağrıları konumlandıran TXLSXUnknownFunctionInfo kayıtları döndürür; TXLSXCells.GetStorageStatistics , hücre, satır bloğu, yük başına bayt ve stilli-boş muhasebesiyle bir TXLSXCellStorageStatistics kaydını doldurur; TXLSXWorksheet.BuildRowMajorCellOrder , dolu hücrelerin bellek içi gezinme sırasını tanımlayan bir TXLSXRowMajorOrder döndürür |
TXLSXWorkbook.FormulaLocale , formülleri ayrıştırırken ve serileştirirken kullanılan yerel ayar etiketini okur ya da yazar; klasik çalışma kitabının formül yerel ayarı davranışını yansıtırTablo slicer'ları (Excel 2013+), iki koleksiyon üzerinden yazılır ve incelenir: TXLSXWorksheet.Slicers sayfa başına slicer görünümlerini (TXLSXSlicer), TXLSXWorkbook.SlicerCaches ise paylaşılan veri kaynaklarını (TXLSXSlicerCache) tutar
property TXLSXWorksheet.Slicers: TXLSXSlicers;
property TXLSXWorkbook.SlicerCaches: TXLSXSlicerCaches;
{ TXLSXSlicers }
function Add(ATable: TXLSXTable; const AColumnName: WideString): TXLSXSlicer; overload;
function Add(ATable: TXLSXTable; const AColumnName: WideString;
ARow1, ACol1, ARow2, ACol2: Integer): TXLSXSlicer; overload;
function IndexByName(const AName: WideString): Integer;
function FindByName(const AName: WideString): TXLSXSlicer;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXSlicer;
{ TXLSXSlicer view }
property Name: WideString; { workbook-unique }
property CacheName: WideString;
property Cache: TXLSXSlicerCache;
property Caption: WideString;
property StartItem: Integer;
property ColumnCount: Integer;
property ColumnWidth: WideString;
property ShowCaption: Integer;
property StyleName: WideString;
property LockedPosition: Integer;
property RowHeight: WideString;
property RowHeightEmu: Integer;
procedure SetBounds(ARow1, ACol1, ARow2, ACol2: Integer);
property FromRow, FromCol, ToRow, ToCol: Integer; { anchor cell corners }
property FromRowOff, FromColOff, ToRowOff, ToColOff: Integer; { EMU offsets }
property AnchorType: TXLSXAnchorEditAs;
property HasAnchor: Boolean;
{ TXLSXSlicers, load-path entry }
function AddInternal: TXLSXSlicer;
{ TXLSXSlicerCache }
property Name: WideString; { e.g. Slicer_Region }
property SourceName: WideString; { source table column / pivot field }
property IsTableCache: Boolean;
property IsPivot: Boolean;
property IsNonOlapPivot: Boolean;
property ItemCount: Integer;
property ItemCacheIndex[Index: Integer]: Integer;
property ItemSelected[Index: Integer]: Boolean;
function SetSelectedItems(const CacheItemIndices: array of Integer): Integer;
function ClearSelection: Integer;
property TableId: Integer;
property TableColumnId: Integer;
property SortOrder: WideString; { '' | ascending | descending }
property CrossFilter: WideString; { '' | none | showItemsWithDataAtTop | showItemsWithNoData }
property CustomListSort: Integer; { -1 absent, else 0/1 }
{ TXLSXSlicerCaches }
function Add: TXLSXSlicerCache;
function FindByName(const AName: WideString): TXLSXSlicerCache;
function IndexOfName(const AName: WideString): Integer;
function FindForTableColumn(ATableId, ATableColumnId: Integer): TXLSXSlicerCache;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXSlicerCache;
Slicers.Add(Table, ColumnName) bir slicer'ı uçtan uca kurar: Slicer_<column>adlı arka önbelleği kaydeder ya da yeniden kullanır, eşleşen #N/A tanımlı adını ayırır, çalışma sayfasının slicerList uzantısını yazar ve görünümlü fallback bildirisi eski Excel sürümlerini kapsayan bir markup-compatibility çizim çıtasıyla görünümu çıtalar; ikinci aşırı yükleme görünüm dikdörtgenini sabitler, aksi hâlde tablonun sağındaki varsayılan çıta kullanılır
Yüklenen görünümler ve önbellekler açılışta geri ayrıştırılır, paylaşılan önbellekler görünümler arasında yeniden kullanılır ve bir önbelleğin son görünümünün silinmesi önbelleği düşürür; tanınmayan öznitelikler ve uzantılar özgün gösterimlerini korurken tablo bağları kaydedilen tablo kimliklerini ve desteklenen Pivot bağlantıları kaydedilen sayfa kimliklerini izler
Desteklenen içe aktarılmış OLAP-olmayan Pivot önbellekleri, IsNonOlapPivot, ItemCount, ItemCacheIndex, ItemSelected, SetSelectedItems ve ClearSelection üzerinden türlü üye incelemesi ve korumalı seçim değişiklikleri gösterir; paylaşılan görünüm davranışı, hata atomikliği ve içe aktarılan aynı-alan maskesi sınırı için Pivot Slicer seçimi konusuna bakın
Desteklenmeyen Pivot önbellekleri özgün baytlarını korur; dosyadan yüklenen bir Slicer görünümüne ayrıca TXLSXDrawingObject.Slicer üzerinden çizim nesnesi olarak ulaşılabilir
var
Ref: WideString;
Row, Col: Integer;
begin
Ref := XlsxCellRef(10, 5);
if XlsxParseCellRef(Ref, Row, Col) then
Worksheet.Cells.Item[Row, Col].Value := 'Checked';
end;
G/Ç callback'leri, serileştirici stil havuzları, şifreli dosya doğrulaması ve çalışma alanı bağımlılık grafı sözleşmeleri için çalışma kitabı altyapı API'si konusuna bakın