Tato stránka zahrnuje veřejné členy klasického XLS API patřící do lxHandle, lxDataToXLS a lxGridToXLS
Vlastnosti výpočtu IXLSWorkbook
property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
| CalculationMode |
Řídí režim výpočtu Workbooku uložený v souboru |
| FormulaArrayMemoryLimit |
Omezuje objem dat přidělený generovanými polemi vzorců, jako je MUNIT; výchozí hodnota je 64 MiB a hodnoty pod velikostí jednoho prvku Double se oříznou |
| EnableIteration |
Povolí iterativní výpočet pro kruhové vzorce |
| MaxIterations |
Maximální počet průchodů Gaussovou–Seidelovou metodou pro každou silně souvislou komponentu kruhových referencí |
| MaxIterationChange |
Maximální číselný rozdíl akceptovaný před tím, než komponenta kruhových referencí přestane iterovat |
| RecalcOnSave |
Požádá Excel o přepočet Workbooku při uložení souboru |
| UseFullPrecision |
Zachovává plnou přesnost vzorců; při vypnutí se cache vzorců a datových tabulek What-If zaokrouhlí na efektivní zobrazenou číselnou přesnost dřív, než je začnou číst závislé buňky |
Validace zadávání vzorců
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
Společný validační kontrakt kategorizuje prázdný vstup, neznámé funkce, neznámé názvy, chyby syntaxe, neplatné souřadnice a vzorce, které cílové klasické XLS nedokáže zapsat bez změny stavu listu; viz
Zásady validace zadávání vzorců
Kalibrace vykreslování IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
Přiřazení celého záznamu nejdřív ověří všech šest polí a teprve pak změní sešit, CaptureRenderCalibration vrátí nezávislý hodnotový snímek pro jedno měření nebo export a ResetRenderCalibration vrátí zpět standardní hodnoty 1/1/1/1/100/96
Toto nastavení platí jen za běhu, neserializuje se do souboru XLS a nemění výšky řádků ani šířky sloupců listu
CreateRenderGeometry zkopíruje aktuální kalibraci do služby patřící operaci a sváže identitu její cache s aktuální generací sešitu a vybraným backendem; pozdější změny kalibrace sešitu už existující službu nedokážou ovlivnit
AutoFit rozsahu i každé volání TXLSPaginationModel.Build zachytí kalibraci sešitu právě jednou; AutoFit je jediný spotřebitel, který záměrně zapisuje přizpůsobené rozměry, zatímco stránkování zachovává každou uloženou výšku řádku a šířku sloupce
Vlastnosti dokumentu IXLSWorkbook
property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
Tyto vlastnosti čtou a zapisují pole souhrnných informací sešitu uložená v klasickém souboru XLS
Metoda Close IXLSWorkbook
function Close: Integer;
Zavře objekt sešitu a uvolní obsah vlastněný sešitem, který drží klasický objektový model XLS
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly |
Nastaveno před Open: načte pouze metadata sešitu a popisy listů a přeskočí data buněk |
| SelectedSheets |
Seznam názvů listů, které se mají načíst při otevření sešitu; prázdný seznam načte všechny listy |
| IncompleteLoad |
True po Open, pokud byla data buněk přeskočena kvůli MetadataOnly nebo SelectedSheets |
Sešit otevřený s MetadataOnly nebo neprázdným
SelectedSheets nelze uložit; Save
hází chybu, dokud se sešit znovu neotevře bez těchto voleb
Sbalený stav TXLSColumnInfo
property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
Collapsed zpřístupňuje znak sbalení osnovy sloupce z BIFF nezávisle na Hidden a OutlineLevel. Index seznamu je index sloupce klasického XLS počítaný od nuly. Neexistující sloupce se čtou jako False a přiřazení False neexistujícímu sloupci nealokuje metadata. Kopie formátu sloupce, kopie listu a cykly uložení–znovuotevření marker zachovávají
Přístupové metody podkladového úložiště jsou veřejné pro nízkourovňovou inspekci sešitu. TXLSRowInfo vrací MinCol a MaxCol (pokrytý rozsah sloupců počítaný od 1), CustomHeight a CustomFormat (zda je uložena explicitní výška nebo index XF) a XFIndexSet; TXLSColumnInfo.isEqual porovnává dvě položky metadat sloupce pole po poli
TXLSColumnInfoList zpřístupňuje ColCount, MinCol, MaxCol, StdWidth a MaxOutlineLevel pro diagnostiku mezí a výchozí šířky, CalcMaxOutLineLevel po přímých úpravách metadat přepočítá cache maximum úrovně osnovy, CopyColFormat zkopíruje jednu položku sloupce na jiný index, DeleteCol odebere položku a FindNextColToStore prochází uložené položky pro zapisovače záznamů BIFF COLINFO a následující rozsah vrací přes výstupní parametry MinCol / MaxCol
Metody uzlů osnovy TXLSWorksheet
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
Tyto metody přizpůsobují metadata řádků a sloupců klasického XLS sdílenému zředěnému modelu osnovy, odvodí požadovaný shrnující uzel z jeho směru osnovy a aplikují komprimované změny skrytí a sbalení bez procházání nevyužitými souřadnicemi listu
ANodeIndex je fyzický shrnující řádek nebo sloupec počítaný od 1, ADisplayLevel následuje konvenci tlačítek osnovy počítanou od 1 a xocPreserve ve výchozím stavu drží značky sbalení vnořených potomků nezávisle
Metody podoken a tiskových nadpisů TXLSWorksheet
function ThawPanes(Y, X: Single; RowTop, ColLeft: Word): Integer;
function SplitPanes(Width, Height: Single): Integer;
function UnsplitPanes: Integer;
function GetSelectedAreas(APane: TXLSPanePosition; out ActiveAreaIndex: Integer): TXLSSelectedAreas;
function SelectAreas(APane: TXLSPanePosition; const Areas: array of WideString; ActiveAreaIndex: Integer = 0): Boolean;
function TryGetWindowScroll(APane: TXLSPanePosition; out ARow, ACol: Integer): Boolean;
function ScrollWindow(APane: TXLSPanePosition; ARow, ACol: Integer): Boolean;
function RepeatRows(FirstRow, LastRow: Word): Integer;
function RepeatColumns(FirstCol, LastCol: Word): Integer;
ThawPanes, SplitPanes a UnsplitPanes řídí stav rozdělených podoken, zatímco RepeatRows a RepeatColumns nastavují řádky nebo sloupce tiskových nadpisů pro list
GetSelectedAreas a přetížení
SelectAreas s podoktem na prvním místě poskytují sdílený logický kontrakt výběru podoken popsaný v tématu
Výběry podoken listu
Záznamy BIFF s po sobě jdoucími výběry pro jedno podokto tvoří jedinou logickou skupinu, upravené skupiny se zapisují po dávkách maximálně 1369 oblastí a kopie listu si ponechávají každou skupinu podoken
Strukturální úpravy celých řádků a celých sloupců přemapují každou platnou skupinu podoken a zároveň zachovávají uspořádané přeživší oblasti a identitu aktivní oblasti, s deterministickými záložními řešeními pro nástupce, předchůdce a hraniční buňku
Poškozené nebo rozporné záznamy výběru zůstávají neprůhledné, při uložení se přehrají byte od bytu a místo částečně důvěryhodného typizovaného stavu vrátí xlsDiagnosticSelectionRecordInvalid
TryGetWindowScroll a ScrollWindow zpřístupňují sdílený kontrakt rolování čtyř podoken počítaný od 1, kde horní a levá osa odpovídá Window2 a dolní a pravá osa Pane
Metody ověřování dat s typem TXLSWorksheet
function AddWholeNumberValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDecimalValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDateValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTimeValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTextLengthValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddCustomValidation(ARange: WideString; const AFormula: WideString): TDataValidation;
Každá pomocná funkce vytvoří typizované pravidlo ověřování dat pro ARange a vrátí vytvořenou instanci TDataValidation, aby bylo možné upravit možnosti výzvy, chyby a zpracování prázdných hodnot
Členy kontingenční tabulky TXLSWorksheet
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
Pomocí
AddPivotTable vytvořte typizovanou kontingenční tabulku ze zdrojového rozsahu, poté použijte
PivotTables a
PivotSetDataFieldFormat ke kontrole nebo formátování vygenerovaného modelu. Viz
API kontingenčních tabulek klasického XLS
function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
SetArrayFormula přiřadí rozsahu maticový vzorec. FirstRow, LastRow, FirstCol a LastCol zpřístupňují uložené meze rozsahu začínající od 1, zatímco XFIndex vrací efektivní index formátu klasického XLS pro rozsah
Pomocné funkce přenosu IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
PasteFrom aplikuje obsah buněk z jiného klasického XLS rozsahu pomocí vybraného režimu vložení. ShiftTo přemístí objekt rozsahu, zatímco ExtendRange a ContractRange upraví uložený obdélník před operacemi rozsahu, které potřebují rozšířené nebo normalizované meze
Rozhraní rozsahů řádků a sloupců IXLS
interface IXLSRowsRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSRowRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSColsRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
interface IXLSColRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
IXLSRowsRange, IXLSRowRange, IXLSColsRange a IXLSColRange jsou vráceny metodami IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow a IXLSRange.EntireColumn. Zachovávají normální editační povrch IXLSRange a přidávají indexovaný přístup k řádkům nebo sloupcům, řízení stavu skrytí, počty, autofit a seskupování osnovy tam, kde to směr rozsahu podporuje
Vlastnost DisplayText IXLSHyperLink
property DisplayText: WideString;
DisplayText čte nebo mění viditelný text, který Excel zobrazuje pro hypertextový odkaz klasického XLS, odděleně od cílové adresy a popisku obrazovky
Vlastnosti mapování ID TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
Tyto vlastnosti pouze pro čtení mapují interní ID listu, aktuální index listu a viditelný název listu. Jsou užitečné při zachovávání vzorců, definovaných názvů nebo záznamů, které odkazují na listy prostřednictvím uložených identifikátorů místo aktuálního pořadí karet
Vlastnost SheetTypeRaw TXLSWorksheet
property SheetTypeRaw: Byte;
SheetTypeRaw zachovává nezpracovanou hodnotu BoundSheet8.dt klasického XLS při načítání a ukládání sešitů, takže záznamy makro, VBA, listu, dialogu a dalších typů listů mohou být přeneseny beze změny, aniž by byly sloučeny do standardní karty listu
Pokročilé tiskové vlastnosti IXLSPageSetup
property PrintNotesAtEnd: Boolean;
property UseFirstPageNumber: Boolean;
property FirstPageNumber: Integer;
property PrintCellErrors: LongWord;
property PrintResolution: LongWord;
property PrintVResolution: LongWord;
property Copies: LongWord;
property HasSetupRecord: Boolean; read only
property PrinterSettingsInitialized: Boolean; read only
property PrinterDriverData: TBytes;
property HasPrinterDriverData: Boolean; read only
procedure ClearPrinterDriverData;
Tyto vlastnosti zachovávají pokročilá nastavení stránky, jako jsou komentáře tištěné na konci, vlastní číslo první stránky, vykreslování chyb tiskových buněk, rozlišení tiskárny a počet kopií
HasSetupRecord vrací, zda načtený list klasického XLS obsahuje záznam BIFF Setup, zatímco PrinterSettingsInitialized vrací, zda jeho formát papíru, měřítko, orientace, rozlišení a počet kopií určuje právě tento záznam
Uložení nedotčeného listu zachová chybějící záznam Setup i existující záznam byte od bytu; změna pole nastavení stránky záznam podle potřeby vytvoří a změna pole závislého na tiskárně inicializuje nastavení tiskárny
PrinterDriverData čte nebo nahrazuje neprůhlednou užitečnou data ovladače tiskárny z BIFF PLS, HasPrinterDriverData rozlišuje absenci dat a ClearPrinterDriverData je odstraní aniž by sahal do typizovaných polí nastavení stránky
Pole bajtů z getteru i setteru se kopírují, takže volající i kopie listu mají nezávislé vlastnictví; data klasického XLS musí obsahovat povinnou dvoubajtovou rezervovanou přílohu na začátku a nesmí překročit 1 MiB
SaveXLSWorkbookAsXLSX přenáší typizovaná pole nastavení stránky a neprůhledná data ovladače tiskárny do modelu XLSX nezávisle na sobě; typizovaná standardní pole zůstávají rozhodující, pokud privátní bajty ovladače obsahují duplicitní výchozí nastavení tiskárny
Vlastnosti znakové sady IXLSFont
property CharSet: Byte;
property Family: Byte;
CharSet a Family zpřístupňují bajty znakové sady a rodiny písem klasického XLS pro volající, kteří potřebují zachovat metadata písem specifická pro lokalizaci
Metody Abort TDataToXLS a TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
Zavolejte Abort z obslužných programů událostí exportu, když je nutné zastavit spuštěný export datové sady nebo mřížky před dokončením
Pomocné funkce klasického XLS reference
function GetCellRef(Cell: String; var Row, Col: Word): Integer;
function GetCellRange(CellRange: String; var StartRow, StartCol, EndRow, EndCol: Word): Integer;
function EncodeCellRef(Row, Col: Word): String;
function EncodeCellRange(StartRow, StartCol, EndRow, EndCol: Word): String;
function Width2Excel(Value: Single): Word;
function Excel2Width(Value: Word): Single;
function Height2Excel(Value: Single): Word;
function Excel2Height(Value: Word): Single;
function ColIndexToColName(Index: Integer): String;
function ColNameToColIndex(Name: String): Integer;
Tyto pomocné funkce převádějí klasické reference A1, rozsahy, popisky sloupců, rozměry řádků nebo sloupců a ukládací jednotky Excelu používané klasickým objektovým modelem XLS