Dokumentace HotXLS

Další členy klasického XLS API

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

Vlastnosti načítání pouze metadat IXLSWorkbook

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
Pole uzlů, režimy potomků, příklady a záruky složitosti najdete v tématu Zředěná geometrie osnovy

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

Členové pole formulí a mezí IXLSRange

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
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