HotXLS-dokumentation

Ytterligare klassiska XLS-API-medlemmar

Den här sidan täcker offentliga klassiska XLS-API-medlemmar som tillhör lxHandle, lxDataToXLS och lxGridToXLS

IXLSWorkbook-beräkningsegenskaper

property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
      
CalculationMode Styr arbetsbokens beräkningsläge som sparas med filen
FormulaArrayMemoryLimit Begränsar den nyttolast som allokeras av genererade formelmatriser som MUNIT, är 64 MiB som standard och klipper värden som ligger under ett Double-element
EnableIteration Aktiverar iterativ beräkning för cirkulära formler
MaxIterations Maximalt antal Gauss-Seidel-passeringar för varje starkt sammanhängande komponent av cirkulära referenser
MaxIterationChange Maximal numerisk delta som accepteras innan en komponent med cirkulära referenser slutar iterera
RecalcOnSave Begär omberäkning av arbetsboken när Excel sparar filen
UseFullPrecision Behåller full formelprecision; är den avstängd avrundas cachar för formler och What-If-datatabeller till sin effektiva visade numeriska precision innan beroenden läser dem

Validering av formelinmatning

property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
  const Formula: WideString): TXLSFormulaEntryValidationResult;
      
Det gemensamma valideringskontraktet klassificerar tom indata, okända funktioner, okända namn, syntaxfel, ogiltiga koordinater och formler som inte kan återges av det klassiska XLS-målet utan att ändra kalkylbladets tillstånd; se Princip för validering av formelinmatning

IXLSWorkbook-renderkalibrering

property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
  ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
      
Tilldelning av hela posten validerar alla sex fält innan arbetsboken ändras, CaptureRenderCalibration returnerar en oberoende värdögonblicksbild för en enskild mät- eller exportoperation, och ResetRenderCalibration återställer standardvärdena 1/1/1/1/100/96
Den här konfigurationen, som bara finns i runtime, serialiseras inte till XLS-filen och ändrar inte kalkylbladets radhöjder eller kolumnbredder
CreateRenderGeometry kopierar den aktuella kalibreringen till en tjänst som ägs av operationen och knyter dess cacheidentitet till den aktuella arbetsboksgenerationen och den valda backend:en; senare kalibreringsändringar i arbetsboken kan inte påverka en befintlig tjänst
AutoFit på områden och varje TXLSPaginationModel.Build-anrop fångar arbetsbokens kalibrering en gång; AutoFit är den enda konsumenten som medvetet skriver anpassade mått, medan pagineringen bevarar varje lagrad radhöjd och kolumnbredd

IXLSWorkbook-dokumentegenskaper

property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
      
Dessa egenskaper läser och skriver arbetsbokens sammanfattningsinformationsfält som sparas med den klassiska XLS-filen

IXLSWorkbook-metoden Close

function Close: Integer;
      
Stänger arbetsboksobjektet och frigör arbetsboksägt innehåll som hanteras av den klassiska XLS-objektmodellen

IXLSWorkbook-egenskaper för inläsning av endast metadata

property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
      
MetadataOnly Sätts den före Open läses bara arbetsbokens metadata och kalkylbladsbeskrivningar, och celldata hoppas över
SelectedSheets Lista med kalkylbladsnamn som ska läsas in när arbetsboken öppnas; en tom lista läser in alla kalkylblad
IncompleteLoad True efter Open när celldata hoppades över eftersom MetadataOnly eller SelectedSheets användes
En arbetsbok som har öppnats med MetadataOnly eller en icke-tom SelectedSheets kan inte sparas; Save genererar ett fel tills arbetsboken öppnas igen utan de alternativen

Komprimerat tillstånd för TXLSColumnInfo

property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
      
Collapsed exponerar BIFF-kolumnens konturmarkör oberoende av Hidden och OutlineLevel. Listindexet är ett nollbaserat klassiskt XLS-kolumnindex. Saknade kolumner läses som False, och att tilldela False till en saknad kolumn allokerar ingen metadata. Kopior av kolumnformat, kopior av kalkylblad och sparnings- och återöppningscykler bevarar markören
De underliggande lagringsaccessorerna är offentliga för lågnivåinspektion av arbetsboken. TXLSRowInfo rapporterar MinCol och MaxCol (det täckta enbaserade kolumnspannet), CustomHeight och CustomFormat (om en explicit höjd eller ett XF-index lagras) samt XFIndexSet; TXLSColumnInfo.isEqual jämför två metadataposter för kolumner fält för fält
TXLSColumnInfoList exponerar ColCount, MinCol, MaxCol, StdWidth och MaxOutlineLevel för gräns- och standardbredddiagnostik, CalcMaxOutLineLevel beräknar om den cachade maximala konturnivån efter direkta metadataändringar, CopyColFormat klonar en kolumnpost till ett annat index, DeleteCol tar bort en post, och FindNextColToStore går igenom lagrade poster för BIFF COLINFO-postskrivare och rapporterar nästa spann i ut-parametrarna MinCol / MaxCol

TXLSWorksheet-metoder för konturnoder

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);
      
Dessa metoder anpassar klassisk rad- och kolumnmetadata till den gemensamma glesa konturmodellen, härleder den begärda sammanfattningsnoden från dess konturriktning och tillämpar komprimerade dölj- och komprimeringsändringar utan att sondera oanvända kalkylbladskoordinater
ANodeIndex är den fysiska sammanfattningsraden eller -kolumnen i enbaserad numrering, ADisplayLevel följer konventionen med enbaserade konturknappar och xocPreserve håller som standard kapslade underordnade komprimeringsmarkörer oberoende av varandra
Se Gles konturgeometri för nodfält, underlägen, exempel och komplexitetsgarantier

TXLSWorksheet-metoder för fönsterrutor och utskriftsrubriker

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 och UnsplitPanes styr tillståndet för delade fönsterrutor, medan RepeatRows och RepeatColumns anger utskriftsrubrikrader eller -kolumner för kalkylbladet
GetSelectedAreas och den fönstruta-först-överlagring av SelectAreas tillhandahåller det gemensamma urvalskontraktet för logiska fönsterrutor som beskrivs i Urval i kalkylbladsfönsterrutor
Konsekutiva BIFF-urvalsposter för en och samma fönstruta bildar en enda logisk grupp, redigerade grupper skrivs i omgångar om högst 1369 områden, och kalkylbladskopior behåller varje fönstrutgrupp
Strukturella redigeringar av hela rader och hela kolumner mappar om varje giltig fönstrutgrupp samtidigt som ordnade överlevande områden och den aktiva områdesidentiteten bevaras, med deterministiska reservval för efterföljare, föregångare och gränsceller
Felformade eller motsägelsefulla urvalsposter förblir ogenomskinliga, spelas upp byte för byte vid sparning och rapporterar xlsDiagnosticSelectionRecordInvalid i stället för att exponera delvis betrott typat tillstånd
TryGetWindowScroll och ScrollWindow exponerar det gemensamma rullningskontraktet med enbaserade koordinater för fyra fönsterrutor, som mappar övre och vänstra axlar till Window2 samt nedre och högra axlar till Pane

TXLSWorksheet-metoder för typad datavalidering

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;
      
Varje hjälpfunktion skapar en typad datavalideringsregel för ARange och returnerar den skapade TDataValidation-instansen så att alternativ för uppmaning, fel och blankhantering kan justeras

TXLSWorksheet-pivottabellsmedlemmar

property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
      
Använd AddPivotTable för att skapa en typad pivottabell från ett källområde och använd sedan PivotTables och PivotSetDataFieldFormat för att inspektera eller formatera den genererade modellen. Se Klassiskt XLS-pivottabell-API

IXLSRange-medlemmar för matrisformler och gränser

function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
      
SetArrayFormula tilldelar en matrisformel till området. FirstRow, LastRow, FirstCol och LastCol exponerar de lagrade 1-baserade områdesgränserna, medan XFIndex returnerar det effektiva klassiska XLS-formatindexet för området

IXLSRange-överföringshjälpfunktioner

procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
      
PasteFrom tillämpar cellinnehåll från ett annat klassiskt XLS-område med det valda inklistringsläget. ShiftTo flyttar om ett områdesobjekt, medan ExtendRange och ContractRange justerar den lagrade rektangeln före områdesoperationer som kräver utökade eller normaliserade gränser

IXLS-gränssnitt för rad- och kolumnområden

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 och IXLSColRange returneras av IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow och IXLSRange.EntireColumn. De behåller den normala IXLSRange-redigeringsytan samtidigt som de lägger till indexerad rad- eller kolumnåtkomst, styrning av dolt tillstånd, antal, automatisk anpassning och konturgruppering där områdesriktningen stödjer det
property DisplayText: WideString;
      
DisplayText läser eller ändrar den synliga text som Excel visar för en klassisk XLS-hyperlänk, separat från måladressen och skärmtipset

TXLSWorksheets-ID-mappningsegenskaper

property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
      
Dessa skrivskyddade uppslagningsegenskaper mappar mellan det interna kalkylblads-ID:t, det aktuella kalkylbladsindexet och det synliga kalkylbladsnamnet. De är användbara när formler, definierade namn eller poster som refererar till kalkylblad via lagrade identifierare i stället för den aktuella flikordningen ska bevaras

TXLSWorksheet-egenskapen SheetTypeRaw

property SheetTypeRaw: Byte;
      
SheetTypeRaw bevarar det råa klassiska XLS-BoundSheet8.dt-värdet vid inläsning och sparning av arbetsböcker, så att makro-, VBA-, kalkylblads-, dialog- och andra kalkylbladstypsposter kan round-trippa utan att förenklas till en standardkalkylbladsflik

IXLSPageSetup-avancerade utskriftsegenskaper

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;
      
Dessa egenskaper bevarar avancerade sidinställningsval, såsom kommentarer som skrivs ut i slutet, ett anpassat första sidnummer, rendering av utskrivna cellfel, skrivarupplösning och antal kopior
HasSetupRecord rapporterar om ett inläst klassiskt XLS-kalkylblad innehåller en BIFF-Setup-post, medan PrinterSettingsInitialized rapporterar om kalkylbladets pappersstorlek, skalning, orientering, upplösning och antal kopior definieras av den posten
Sparas ett orört kalkylblad bevaras en saknad Setup-post och en befintlig post byte för byte; ändras ett sidinställningsfält skapas posten vid behov, och ändras ett skrivarberoende fält initieras skrivarinställningarna
PrinterDriverData läser eller ersätter den ogenomskinliga BIFF-PLS-nyttolasten från skrivardrivrutinen, HasPrinterDriverData skiljer en frånvarande nyttolast, och ClearPrinterDriverData tar bort den utan att ändra typade sidinställningsfält
Bytearrayer i getters och setters kopieras så att anropare och kalkylbladskopior äger sina data oberoende av varandra; klassiska nyttolaster måste innehålla det obligatoriska reserverade prefixet på två byte och får inte överstiga 1 MiB
SaveXLSWorkbookAsXLSX för över typade sidinställningsvärden och den ogenomskinliga nyttolasten från skrivardrivrutinen oberoende av varandra till XLSX-modellen; typade standardfält förblir auktoritativa när privata drivrutinsbyte innehåller dubbletter av skrivarstandarder

IXLSFont-teckenuppsättningsegenskaper

property CharSet: Byte;
property Family: Byte;
      
CharSet och Family exponerar de klassiska XLS-teckensnittets teckenuppsättnings- och familjebytes för anropare som behöver bevara lokalspecifik teckensnittsmetadata

TDataToXLS- och TGridToXLS-metoderna Abort

procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
      
Anropa Abort från exportens händelsehanterare när en pågående dataset- eller rutnätsexport måste stoppas innan den slutförs

Klassiska XLS-hjälpfunktioner för referenser

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;
      
Dessa hjälpfunktioner konverterar klassiska A1-referenser, områden, kolumnetiketter, rad- eller kolumndimensioner och Excel-lagringsenheter som används av den klassiska XLS-objektmodellen