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
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
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
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
IXLSHyperLink-egenskapen DisplayText
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