Ytterligere bibliotek-API-medlemmer
Denne siden fullfører referansen for offentlige typer som støtter de primære API-ene for arbeidsbok, regneark, gjengivelse, import, diagnostikk og fremvisning, men som ikke krever en egen oppgaveorientert veiledning
Filtrering og betinget formatering
TXLSAutofilter | Add, AddAutofilterData, AssignFrom, Clear og ParseAutofilterData redigerer eller importerer filterdefinisjonen; Defined, FirstRow, FirstCol, LastCol, LastRow og FieldCount eksponerer de aktive grensene og antallet filtrerte kolonner |
TXLSAutofilterItem | Shape eksponerer figuren for filterknappen som er knyttet til elementet, og det innlastede filterkriteriet er tilgjengelig som en TXLSAutofilterDOPER-operandpost — DataType velger operandformen og grbitSgn bærer fortegns- og flaggbitsene — for inspeksjon eller round-trip-redigering |
TXLSDataBarSpec | AxisColor, AxisIsThemeColor, AxisThemeColorId, AxisThemeColorTint og ClearAxisThemeColor styrer aksen; Direction, GradientFill, NegativeBarBorderColorSameAsPositive, NegativeBarColor, NegativeBarColorSameAsPositive og NegativeBorderColor styrer stolpeutseendet; IsIndexedColor, IndexedColorIndex og ClearIndexedColor administrerer palettindeks-stolpefargen |
TXLSIconSetSpec | ThresholdEqualsInclude velger inkluderende eller ekskluderende sammenligning for hver ikonterskel |
TXLSCfValue | IsIndexedColor og IndexedColorIndex rapporterer en terskelfarge som er lagret som en eldre palettindeks, ClearIndexedColor fjerner den formen igjen, og tema- eller direkte farger forblir tilgjengelige gjennom de eksisterende egenskapstilgangene |
TXLSCfValue, TXLSDataBarSpec, TXLSColorScaleSpec, TXLSIconSetSpec og TXLSDxfStyle godtar AttachWriteGuardOwner, som knytter regelobjektet til den eiende arbeidsboken slik at redigeringer skaffer en skrivevakt automatisk; eieren implementerer TXLSCondFormatWriteGuardOwner, hvis eneste metode AcquireWriteGuard overleverer regelen arbeidsbokens skrivevakt. TXLSDxfStyle legger til FontColorIndex med FontColorIsIndexed pluss parene FillFgColorIndex / FillFgColorIsIndexed og FillBgColorIndex / FillBgColorIsIndexed for palettindekserte regelfarger, samt differentialskrift-overstyringene FontName, FontSize og FontScheme (tom streng, en punktstørrelse eller en temaskriftplass som major / minor) ved siden av de eksisterende medlemmene for fet, kursiv, understreking og farge; hver tildeling skaffer skrivevakten og merker regelen som dirty for re-emisjon
TXLSConnections, TXLSDataTables og TXLSQueryTables eksponerer OnAcquireWriteGuard (type TXLSConnectionAcquireWriteGuard, TXLSDataTableAcquireWriteGuard og TXLSQueryTableAcquireWriteGuard), kroken som redigeringsveiene deres bruker for å hente den eiende arbeidsbokens IXLSWorkbookWriteGuard før mutasjon og for å avansere arbeidsbokgenerasjonen etterpå; vakten registrerer StartGeneration, og Complete markerer skrivingen som ferdig slik at avhengige buffere kan bygges opp igjen
Bevarte datakoblinger har en typet beskrivelse: TXLSConnectionKind (xlckUnknown, xlckOdbc, xlckDao, xlckFile, xlckWeb, xlckOleDb, xlckText, xlckAdo) klassifiserer koblingen, TXLSConnectionCredentials (xlccIntegrated, xlccNone, xlccStored, xlccPrompt) registrerer autentiseringsmodusen, og hver parameterverdi for koblingen tagges med TXLSConnectionParameterValueKind (xlcpvNone, xlcpvBoolean, xlcpvDouble, xlcpvInteger, xlcpvString, xlcpvCell). What-if-datatabeller rapporterer sin lagrede definisjonskind gjennom TXLSDataTableKind
What-if-datatabeller og pivotgruppering
TXLSDataTable | Assign, ContainsCell og IsRoot kopierer og inspiserer en tabell; Kind, FirstRow, FirstCol, LastCol, LastRow, AlwaysCalculate, ColumnInputCol, ColumnInputRow, ColumnInputDeleted, RowInputCol, RowInputRow og RowInputDeleted eksponerer den lagrede beregningsdefinisjonen |
TXLSDataTables | Add, AddExisting, Delete, Clear, Assign, AdjustForShift og Offset vedlikeholder samlingen; FindByCell og FindRoot finner tabellen som inneholder en gitt celle eller har roten i den; Count, Items og OnChange eksponerer samlingsstatusen |
TXLSPivotCacheField | GroupBaseField og GroupParentField eksponerer relasjonene mellom et gruppert felt og dets kilde- eller overordnede felt |
Ikonsett-terskler kan rendres eller valideres programmatisk: XLSCfIconSetCount rapporterer hvor mange ikoner en TXLSIconSetType definerer, og XLSBuildCfIconGeometry fyller en TXLSCfIconGeometry med primitivene (TXLSCfIconPrimitive, kind TXLSCfIconPrimitiveKind: cfipPolygon, cfipEllipse, cfipRect, cfipLine) og punktene (TXLSCfIconPoint) som tegner ett ikon, slik at egne rendrere matcher Excels innebygde ikonformer
Diagnostikk, formelsporing og validering
TXLSDiagnostic | Code, NativeCode, Message, Severity, ExceptionClass, PartName, RecordId, SheetIndex, SheetName og StreamOffset identifiserer én enkelt parser-, skriver- eller pakkediagnose |
TXLSDiagnostics | Add legger til en diagnose, Clear nullstiller samlingen, og Count sammen med Items opplister oppføringene dens |
TXLSDiagnosticSeverity og TXLSDiagnosticOperation | TXLSDiagnosticSeverity (xlsDiagnosticInfo, xlsDiagnosticWarning, xlsDiagnosticError, xlsDiagnosticFatal) klassifiserer én diagnose, og TXLSDiagnosticOperation (xlsOperationNone, xlsOperationOpen, xlsOperationSave, xlsOperationCalculate, xlsOperationExport) navngir fasen som produserte den; OnDiagnostic-handlere leser begge fra den leverte TXLSDiagnostic |
TXLSFormulaDebugSession | CurrentStep, DependencyCount, NodeCount og StepCount eksponerer det gjeldende feilsøkerøyeblikksbildet og dets sporstørrelser |
TXLSFormulaTracer | StepCount rapporterer antallet registrerte evalueringstrinn |
TXLSImportCheck | AddRule, Annotate, KeepOnlyViolations og Violation konfigurerer og kjører importvalidering; HeaderRow, FirstRow, LastRow, OnVerifyCell og ViolationCount eksponerer grensene, tilbakekallingen og resultatantallet. Reglene er TlxImportColumnRule-objekter hvis TlxImportRuleFlags velger kontrollene for én 1-basert regnearkkolonne, og hver TlxImportViolation rapporterer rad, kolonne, den problematiske teksten og feilmeldingen |
Lagringspolicyer for eksterne koblinger
TXLSExternalLinkUpdateMode = (xluPromptUser, xluNever, xluAlways);
property IXLSWorkbook.SaveExternalLinkValues: Boolean;
property IXLSWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
property TXLSXWorkbook.SaveExternalLinkValues: Boolean;
property TXLSXWorkbook.UpdateLinks: TXLSExternalLinkUpdateMode;
Begge motorer bruker som standard lagring av bufrede verdier og xluPromptUser; xluNever og xluAlways endrer bare oppdateringsinnstillingen som er lagret i arbeidsboken, og autoriserer eller igangsetter aldri ekstern fil- eller nettverkstilgang
Beregningsrevisjon og arbeidsbokhint
function TXLSWorkbook.RecalcAndVerify(MaxIssues: Integer = 10000): TXLSCalculationAuditReport;
function TXLSXWorkbook.RecalcAndVerify(MaxIssues: Integer = 10000): TXLSCalculationAuditReport;
function TXLSWorkbook.RecalcAndVerifyEx(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSXWorkbook.RecalcAndVerifyEx(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSWorkbook.RunCalculationAudit(const Options: TXLSRecalcAuditOptions): TXLSCalculationAuditReport;
function TXLSWorkbook.FormulaIsVolatile(Formula: WideString): Boolean;
function TXLSWorkbook.AuditOverlayHash(SheetIndex, Row, Col: Integer): Integer;
function TXLSWorkbook.AuditOverlayRead(SheetIndex, Row, Col: Integer; var Value: Variant): Boolean;
procedure TXLSWorkbook.AuditOverlayWrite(SheetIndex, Row, Col: Integer; const Value: Variant);
procedure TXLSWorkbook.AuditOverlayClear;
TXLSCalculationAuditIssueKind = (xlcaiCacheMismatch, xlcaiParseFailure,
xlcaiMissingFunction, xlcaiMissingName, xlcaiUnsupportedArguments,
xlcaiCircularReference, xlcaiExternalReferenceDenied,
xlcaiExternalReferenceMissing, xlcaiDataTableSkipped, xlcaiCancelled,
xlcaiInternalFailure);
TXLSCalculationAuditIssue = record
Kind: TXLSCalculationAuditIssueKind;
SheetIndex: Integer;
SheetName: WideString;
Row: Integer;
Col: Integer;
Formula: WideString;
Symbol: WideString;
Expected: Variant;
Actual: Variant;
ResultCode: Integer;
Stack: WideString;
ExternalTarget: WideString;
end;
TXLSCalculationAuditIssues = array of TXLSCalculationAuditIssue;
TXLSRecalcAuditProgress = procedure(ASender: TObject;
ACurrent, ATotal: Integer; var ACancel: Boolean) of object;
property WorkbookCodeName: WideString;
property CalculationThreadMode: TXLSCalculationThreadMode;
property ForceFullCalculationState: TXLSOptionalBooleanState;
property RefreshAllOnLoadState: TXLSOptionalBooleanState;
RecalcAndVerify kombinerer formelsymbolfeil og avvik mellom bufrede verdier i stabile, strukturerte kategorier med regnearkkoordinater, formler, symboler, forventede og faktiske verdier og avgrenset trunkering, samtidig som buffere og arbeidsboksemantikken forblir uendret. RecalcAndVerifyEx kjører den dype revisjonen: den evaluerer hver formel én gang gjennom avhengighetsgrafen inn i et isolert resultatoverlay slik at avhengige celler leser dette passet i stedet for foreldede buffere, klassifiserer evalueringsfeil (ustøttede argumenter, sirkulære referanser, avviste eller manglende eksterne referanser, hoppede over datatabeller, avbrudd, interne feil) med resultatkoder, registrerer en avgrenset kallstakk per feil, respekterer et issue-budsjett og en progresjons-/avbruddsmottaker, og forblir skrivebeskyttet med mindre ApplyResults committer de rekalkulerte verdiene atomisk etter et fullt vellykket pass over en uendret arbeidsbokstruktur
Hvert element i TXLSCalculationAuditReport.Issues er en TXLSCalculationAuditIssue; Kind velger én av xlcai*-kategoriene, Expected / Actual bærer de sammenlignede verdiene ved bufferavvik, Stack er den avgrensede evalueringskjeden rendret som Sheet!A1 > Sheet!B2 (ytterste ramme først), og ExternalTarget beskriver den eksterne arbeidsboken for problemer med eksterne referanser. TXLSRecalcAuditOptions.OnProgress er en TXLSRecalcAuditProgress-mottaker som mottar ACurrent / ATotal-nodeprogresjon og kan sette ACancel for å stoppe revisjonen ved neste nodegrense med ett enkelt xlcaiCancelled-problem
RunCalculationAudit er motorinngangen som revisjonspakkene på arbeidsboknivå delegerer til, og godtar samme options-post. FormulaIsVolatile rapporterer om en formel ville tvinge frem rekalkulering ved hvert pass (kall som NOW, RAND, TODAY, OFFSET, INDIRECT eller en referanse som ikke kan løses)
Revisjonsoverlaget er et what-if-lag oppå cellebufferne: AuditOverlayWrite lagrer en erstatningsverdi for én celle (1-basert arkindeks, 0-basert rad og kolonne etter kalkulatorkonvensjonen), AuditOverlayRead og AuditOverlayHash spør mot den, og AuditOverlayClear tømmer laget. Overlagte verdier returneres av de vanlige celleverdi-henterne, slik at rekalkulering og den dype revisjonen observerer dem uten å mutere regnearkceller; å tømme overlayet gjenoppretter de lagrede verdiene
Arbeidsbokhint-egenskapene beholder tilstandene missing, false, true, disabled, automatic og manual der kildeformatet støtter dem; de starter aldri beregnings-, oppfriskings-, filsystem-, nettverks- eller databasearbeid ved åpning
property TXLSXTable.ColumnCalculatedFormulaArrayStates[Index: Integer]: TXLSTableFormulaArrayState;
property TXLSXTable.ColumnTotalsFormulaArrayStates[Index: Integer]: TXLSTableFormulaArrayState;
property TDataValidation.ImeMode: TXLSDataValidationImeMode;
property TXLSXDataValidation.ImeModeKind: TXLSDataValidationImeMode;
Formler i beregnede kolonner og på totalrader beholder uavhengige matrisetilstander for fraværende, false, true eller ukjent, inkludert urørte leksikalske kildeverdier og strukturelle kolonneredigeringer; matriseformler avvises av skalar radutvidelse i stedet for å bli endret i det stille
IME-moduser bruker eksplisitte BIFF- og OOXML-mappinger, bevarer ukjente kildeverdier og avviser den OOXML-eksklusive disabled-verdien når den skrives for Classic XLS
Å sette SaveExternalLinkValues til False utelater de klassiske XCT- og CRN-postene eller XLSX-deltreet sheetDataSet for ekstern arbeidsbok, samtidig som koblingsmål, arknavn, eksterne definerte navn, relasjoner, formelreferanser, ukjent XML og bufferen i minnet beholdes; gjenoppretting av egenskapen til True på den samme arbeidsboken kan serialisere den beholdte bufferen igjen
Urørte ustøttede kildetoken forblir bevart byte for byte eller leksikalsk, eksplisitte tildelinger sender bare ut lovlige verdier, uendrede XLSX-deler beholder banen for komprimert kopi, og XLS/XLSX-konvertering overfører begge policyene; ODS- og tekst-arbeidsbøker har ingen tilsvarende deklarasjon og åpnes med standardverdiene, mens bevarte DDE- og OLE-koblingsdeler ikke behandles som cellebuffere for eksterne arbeidsbøker
Inspeksjon og fjerning av Web Add-in-oppgaveruter
function IXLSWorkbook.HasWebAddinTaskPanes: Boolean;
function IXLSWorkbook.WebAddinTaskPaneCount: Integer;
function IXLSWorkbook.RemoveWebAddinTaskPanes: Integer;
function TXLSXWorkbook.HasWebAddinTaskPanes: Boolean;
function TXLSXWorkbook.WebAddinTaskPaneCount: Integer;
function TXLSXWorkbook.RemoveWebAddinTaskPanes: Integer;
Inspeksjonsmetodene gjenkjenner bare interne relasjoner fra pakkeroten hvis type samsvarer nøyaktig med relasjonstypen for Web Add-in-oppgaveruten; eksterne relasjoner, typer med annen bruk av store og små bokstaver, regnearkrelasjoner og deler med lignende navn ignoreres
Fjerningen validerer først den komplette relasjonsgrafen, inkludert normaliserte mål, inneslutning i pakkeroten, sykluser, manglende deler og ressursgrenser; deretter fjerner den alle samsvarende rotrelasjoner og bare de tilgjengelige delene som ikke deles av en annen beholdt relasjon, sammen med relasjonsdeler som eies av slettede kilder
Operasjonen er atomisk og idempotent, fjernede kildedeler kan ikke dukke opp igjen gjennom lagring med komprimert kopi, og innholdstypene bygges opp igjen fra den gjenværende pakken; feilformede grafer legger til diagnostikkoden 1303 og utløser et unntak før mutasjon, mens Classic XLS og ODS returnerer False, 0 og -1 uten pakkeskanning
Visningspolicy for arbeidsbokobjekter
TXLSObjectDisplayMode = (xlsodmShowAll, xlsodmShowPlaceholders,
xlsodmHideAll);
property IXLSWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSXWorkbook.ObjectDisplayMode: TXLSObjectDisplayMode;
property TXLSPaginationModel.ExportObjectPlaceholders: Boolean;
property TXLSPDFExport.ExportObjectPlaceholders: Boolean;
property TXLSSvgExport.ExportObjectPlaceholders: Boolean;
property TXLSPageImageExporter.ExportObjectPlaceholders: Boolean;
property TXLSPrintDocument.ExportObjectPlaceholders: Boolean;
property TXLSXHtmlExportOptions.ExportObjectPlaceholders: Boolean;
Classic XLS mapper de tre tilstandene til sin post for objektvisning i arbeidsboken, og XLSX mapper dem til workbookPr.showObjects; manglende verdier bruker som standard xlsodmShowAll, urørte reserverte Classic-payloads og ustøttede XLSX-token forblir tapsfrie, og eksplisitte tildelinger sender bare ut kanoniske verdier
Fremviseren rendrer plassholdermodus som lette bokser som bærer tilgjengelig objekttype, navn, tekst og alternativ tekst; eksportørene beholder fullstendige objekter som standard, mens ExportObjectPlaceholders ber om den samme lavkost-policyen uten å dekode bildenyttelaster eller bygge diagramscener
xlsodmHideAll hindrer innsamling av tegninger og objektdrevet områdeutvidelse før gjengivelsen begynner; konvertering av arbeidsbøker bærer alle tre tilstandene, ODS skriver komplette tegninger for plassholdermodus og utelater tegnings- og medieutdata for hide-all-modus, og regnearkbakgrunner forblir uavhengige
Gjengivelseskalibreringsverdier og øyeblikksbilder
TXLSRenderCalibration = record
WidthCorrection: Double;
HeightCorrection: Double;
LineSpacing: Double;
CellMarginFactor: Double;
ScreenScaling: Integer;
MeasurementDpi: Integer;
end;
function XLSDefaultRenderCalibration: TXLSRenderCalibration;
function XLSValidateRenderCalibration(const AValue: TXLSRenderCalibration;
out AInvalidField: TXLSRenderCalibrationField): Boolean;
Standardverdiene er 1, 1, 1, 1, 100 og 96; bredde- og høydekorreksjoner må være større enn null og mindre enn to, linjeavstand er avgrenset til (0, 4], cellemarginer til [0, 4], skjermskalering til [100, 500] prosent og måle-DPI til [36, 2400]
Classic XLS- og XLSX-arbeidsbøker eksponerer de samme medlemmene RenderCalibration, CaptureRenderCalibration og ResetRenderCalibration; tildeling av hele posten validerer før mutasjon, og hvert capture-kall returnerer et uavhengig, etter konvensjon uforanderlig verdøyeblikksbilde for én gjengivelsesoperasjon
Gjengivelsesgeometri og skrifttypemåling
TXLSRenderGeometryBackend = (xlsrgbAutoFit, xlsrgbPagination, xlsrgbPdf,
xlsrgbSvg, xlsrgbBitmap, xlsrgbPrintPreview, xlsrgbViewer, xlsrgbHtml);
TXLSRenderFont = record
Name: WideString;
Size: Double;
Styles: TXLSRenderFontStyles;
Charset: Byte;
end;
function CreateXLSRenderGeometry(
const ACalibration: TXLSRenderCalibration;
AWorkbookGeneration: UInt64;
ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
property TXLSHTMLExport.RenderGeometry: IXLSRenderGeometry;
property TXLSXHtmlExportSession.RenderGeometry: IXLSRenderGeometry;
IXLSRenderGeometry eier én uforanderlig kalibrering, arbeidsbokgenerering, backend-identitet, GDI-måleflate og en avgrenset operasjonslokal metrikkbuffer; MeasureText returnerer pikselbredde, høyde, linjehøyde, ascendens, descendens og linjeantall, mens MaximumDigitWidthPixels, ColumnWidthToPixels, PixelsToColumnWidth, PointsToPixels, PixelsToPoints og UsableCellWidthPixels gir de delte geometrikonverteringene
Bufferidentiteten inkluderer backend, arbeidsbokgenerering, alle kalibreringsverdier, skriftnavn, nøyaktig størrelse, stiler, tegnsett, tekstbrytningsbredde og tekst; bredde- og høydekorreksjon brukes én gang under tekstmåling, linjeavstand påvirker bare høyden for flere linjer, korreksjon av cellemargin påvirker bare brukbar tekstbredde, og skjermskalering påvirker bare emuleringen av maksimal sifferbredde for implisitte kolonnebredder
Classic XLS- og XLSX-AutoFit fanger én tjeneste for hver offentlige operasjon, inkludert sammenslåtte områder og tofase MarkSheet-måling, mens TXLSPaginationModel.Build fanger én tjeneste for den valgte RenderBackend; PDF-, SVG-, punktgrafikk-, utskriftsforhåndsvisnings-, arbeidsbokfremvisnings- og HTML-inngangspunkter velger sin egen backend før utdata, endring av arbeidsbokkalibrering kan ikke mutere et eksisterende øyeblikksbilde, og utdata skriver ikke regnearkdimensjoner
Direkte HTML-kall for arbeidsbok, regneark og område fanger en fersk xlsrgbHtml-tjeneste, mens en trinnvis TXLSXHtmlExportSession fanger én gang i BeginExport og gjenbruker det øyeblikksbildet for alle ark; begge eksportørene eksponerer den beholdte tjenesten gjennom RenderGeometry for kalibrerings- og bufferdiagnostikk
De skrivebeskyttede IXLSRenderGeometry-egenskapene WorkbookGeneration, CacheCapacity og CacheEntryCount rapporterer den bundne genereringen og bufferfyllingen for diagnostikk, og ImplicitWidthMaximumDigitWidthPixels returnerer sifferbredde-målingen bak emuleringen av implisitt kolonnebredde
MeasureText fyller en TXLSRenderTextMetrics-post (pikselbredde, høyde, linjehøyde, ascendens, descendens og linjeantall) fra en TXLSRenderFont hvis Styles-medlem er et sett med TXLSRenderFontStyle-flagg (halvfet, kursiv, understreket, gjennomstreket)
Import, kodegenerering, sammenligning og overvåking
TXLSHTMLImport | LoadFromHTML-overbelastningene importerer HTML-tabellinnhold fra en strøm eller fil inn i et regneark, med valgfrie startkoordinater, tabellvalg og desimaltegn |
TXLSCodeGen | Language (type TlxCodeGenLanguage: lcgDelphi eller lcgCppBuilder) velger kildedialekten for de genererte setningene, GenerateToList skriver generert arbeidsbokkode til en strengliste, og TlxCodeGenOptions utvider utdataene med flettinger, kolonnebredder eller tallformater (cgoMerges, cgoColumnWidths, cgoNumberFormats; ark og celler skrives alltid ut) |
TXLSXWorkbookCompare | LeftName og RightName merker inndataene, Compare utfører sammenligningen, og Diff eksponerer de resulterende TlxCompareDiff-oppføringene klassifisert etter TlxCompareKind |
TXLSFileMonitor | IntervalMs velger pollingsintervallet og SynchronizeEvent velger synkronisert tilbakekallingslevering; en OnFileChanged-handler kan deaktivere eller ødelegge monitoreren, eller endre FileName for å overvåke en annen fil |
TXLSCSVLoader og TXLSCSVSaver | Loaderen parser avgrenset tekst inn i et minnebasert rutenett av Variants — ParseFile og ParseStream fyller rutenettet, CellValue, RowCount og ColCount leser det tilbake — med automatisk gjenkjent skilletegn (ValueSeparator) og koding (TXLSCsvEncoding: system-ANSI, UTF-16, UTF-8) og valgfri typepromotering styrt av DetectTypes og per-kolonne-ColumnTypes-oppføringer (TXLSCsvColumnType: auto, tekst, tall, dato, boolsk, hopp over); SkipRows, AutoTrim, LocaleTolerantNumbers og FieldWidths finpusser håndteringen av fast bredde og lokale innstillinger. TXLSCSVSaver.SaveAs skriver rutenettet tilbake med RFC 4180-sitering, og QuoteAllStrings tvinger sitering; TXLSTSVSaver arver fra saveren for tabulatorseparert utdata |
Hjelpefunksjoner for pakke- og binærlagring
TXLSXOpaquePackage | LoadWorkbookXmlMetadata fanger XML-tilstanden på arbeidsboknivå, MarkAllPartsClean nullstiller skitne flagg, og WorkbookExtLstXml sammen med WorkbookRootAttributesXml eksponerer bevarte arbeidsbok-XML-fragmenter; IsDiscardedPart rapporterer om et delnavn ble fjernet av en forkastingsoperasjon som opprydding av netttillegg |
TXLSFileStorage | Load, LoadFolder, Write og WriteFolder overfører innhold i sammensatte filer; Child og Count opplister underordnede oppføringer, hver en TXLSFileItem — en navngitt lagringsnode hvis TXLSFileStream-subklasse bærer de lagrede bytene som en TXLSBlob med DataSize som rapporterer nyttelastlengden |
TXLSBlob | Add legger til en annen blob, mens AddByte, AddWord, AddLong, AddDouble, AddString og AddWideString legger til typede verdier; CopyData, CopyMem, FillByte, Write, Clear, Reset og Dump administrerer innholdet; Buff og DataLength eksponerer lagringen |
TXLSBlobList | Append, AppendList, CopyData og Write kombinerer eller sender ut oppføringer; Entries og TotalSize eksponerer listestatusen |
TXLSWideStringBuilder | AddString legger til tekst og Length rapporterer det akkumulerte tegnantallet |
Tillegg for tegning og arbeidsbokfremvisning
TXLSFillFormat | PictureFill konfigurerer en bildebasert figurfyll, mens FillType velger fylltypen (helfarge, gradient, bilde eller forhåndsdefinert tekstur) som skriveren sender ut |
TXLSShapes | AddScrollBar og AddSpinner oppretter skjemakontroller — de returnerte objektene TXLSScrollBar og TXLSSpinner eksponerer kontrollens geometri og tilknyttede celle, og spinneren legger til trinnegrensene Min, Max og Inc — mens RegisterScrollBar og RegisterSpinner registrerer kontroller som er lastet inn fra en arbeidsbok |
TXLSWorkbookViewer | CanUndo og CanRedo rapporterer tilgjengeligheten av redigeringshistorikk, mens ReferencePickMode muliggjør interaktivt valg av celle- eller områdereferanser |
Paginering, bildeutdata og utskrift
TXLSGraphicsBackend | DrawTiledImage maler en regnearkbakgrunn gjentatte ganger over det utklippede sideregionet |
TXLSPaginationModel | CompactRangeMode, IncludeDrawings, IncludeGridlines, IncludeCellBorders og PaintPageBackground styrer sideinnholdet; RenderDPI, RenderColorMode og RenderSession eksponerer utdataoppløsning, fargehåndtering og den aktive gjengivelsesøkten |
TXLSCellImageExporter | Measure beregner pikseldimensjoner for klassiske eller XLSX-områder; ImageFormat, JpegQuality, MaxPixels, MaxBytes, IncludeObjects, IncludeGridlines, IncludeCellBorders, BackgroundColor, TransparentBackground, BeforePaint, AfterPaint og PaginationModel konfigurerer og observerer gjengivelsen |
TXLSPageImageExporter | BeforePaint, AfterPaint, MaxPixels, MaxBytes, BackgroundColor og TransparentBackground anvender de samme malingkrokene og sikkerhetsgrensene for utdata på paginert bildeksport |
TXLSPrintDocument | PrintWorksheet, PrintWorkbook og PrintAllVisibleSheets sender klassisk eller XLSX-innhold til VCL-skriveren; FirstPage, PrintRangeOnly, Collate, Copies, OnBeforeNewPage og OnAfterGeneratePage styrer utskriftsjobben |
Klassiske diagrammodeller og regnearkdiagramobjekter
TXLSChartSeries | AddTrendline og AddErrorBars oppretter typede serieannoteringer, mens TrendlineCount og ErrorBarCount rapporterer samlingsstørrelsene deres |
TXLSChartAxis | HasAxcExtFlag tester ett rått AXCEXT-flagg uten at koden som kaller må dekode bitmasken |
TXLSChartModel | AxisGroupCount rapporterer antallet primære og sekundære aksegrupper dekodet fra diagrammet |
TXLSCustomChart | AddAreaData legger til et forhåndsbygd områdeelement for rebinding av formler ved lagring, og ApplyDateAxisModel anvender en typet datoaksemodell på de rå diagrampostene |
TXLSWorksheet | AddChartObject forankrer en diagramramme på regnearket og kobler den til den delte diagrambyggeren |
TXLSXChartLayoutResolver | TryResolve løser ett layoutrektangel med valgfri størrelsesvalidering, og ResolveChart beregner rektangler for diagram, tittel, tegnforklaring, plott og akser |
Typet dekodemodell for diagram
Den dekodete diagramtilstanden eksponeres som rene poster og enum-typer slik at inspeksjonskode aldri trenger å traversere råe BIFF-poster: TXLSChartInfo bærer det dekodete diagramsammendraget med TXLSChartTypeFamily (cfBar, cfLine, cfPie, cfArea, cfScatter, cfRadar, cfDoughnut, cfSurface, cfBubble), hver serie rapporterer TXLSChartSeriesType, og TXLSChart3DState sammen med TXLSChart3DInfo beskriver tredimensjonale visninger. TXLSChartAxisType (catCategory, catValue, catSeries, catDate) og TXLSChartLegendPosition klassifiserer akser og tegnforklaringer, mens datoaksemodellen bruker TXLSChartDateUnit (xcduDays, xcduMonths, xcduYears) og TXLSChartDateValues. TXLSCustomChart eksponerer den dekodete modellen gjennom TXLSChartInfo; trendlinje- og feilindikatorannoteringer er typede objekter (TXLSChartTrendline, TXLSChartErrorBars) som kan nås fra hver serie
Poster for diagramoppretting
Oppretting av diagramark og byggerbasert autorering godtar rene poster i stedet for objektgrafer: TXLSChartTrendlineInfo, TXLSChartErrorBarsInfo, TXLSChartDataLabelsInfo og TXLSChartSeriesStyleInfo fyller serieoppføringene som sendes til TXLSWorksheets.AddChartSheet og den delte diagrambyggeren, og TXLSPivotChartInfo beskriver pivottagrammingen som brukes når et diagram festes til en pivottabell
PDF-vedlegg, signaturer og HTML-eksport
IXLSPDFAttachmentSource | WriteTo strømmer vedleggsbyte inn i PDF-eksporten uten at eksportøren må eie kildedataene |
TXLSPDFExport | AttachmentDuplicatePolicy velger håndtering av duplikatnavn, AttachmentSpoolThreshold styrer spooling av vedlegg, og DocumentLanguage skriver metadataene for dokumentspråket |
TXLSPDFSignature | TextAlign, TextSize, TextColor, TextBold og TextItalic konfigurerer det synlige signaturutseendet |
TXLSHTMLExport | ViewMode (type TXLSHtmlViewMode: gjeldende visning eller full regnearktabell) velger HTML-presentasjonen, mens HotTrackTargets (sett av TXLSHtmlHotTrackTarget) og HotTrackColor konfigurerer interaktiv utheving av celler og objekter |
TXLSXHtmlExportOptions | ViewMode, HotTrackTargets og HotTrackColor gir de tilsvarende kontrollene for XLSX HTML-eksport |
Beregningsrevisjon og arbeidsbokkontroller
TXLSCalculationAuditReport | Truncated rapporterer trunkering ved issue-grense, StackTruncated rapporterer trunkering av kallstakkrammer, og Issues indekserer de registrerte beregningsproblemene |
TXLSUserFunctionRegistry | Generation endres når det registrerte settet av brukerfunksjoner endres, slik at bufrede formelbindinger kan ugyldiggjøres |
EXLSReportRecoverableData | Category identifiserer kategorien for gjenopprettbare rapportdata som presenteres for kalleren |
IXLSWorkBook | ManualCalculationThreadCount begrenser antallet arbeidere som brukes ved manuell beregning |
TXLSXDataValidation | HasUnknownImeMode rapporterer en IME-modusverdi som HotXLS har bevart, men ikke gjenkjenner |
TXLSXTable | ColumnCalculatedFormulaArrayRaw og ColumnTotalsFormulaArrayRaw eksponerer den opprinnelige matriseformelteksten for tabellkolonnene |
Kompatibilitet for eldre PivotCache-framing
TXLSPivotCache | RawBucketIndex identifiserer posisjonen i kildeunderstrømmen, RawFramingIsLegacy identifiserer en gammel HotXLS-framing, RawModelIsComplete rapporterer om den typede modellen representerer hver post, og CanUpgradeFraming rapporterer om opt-in typet re-emisjon er trygg |
TXLSPivotCache | StreamId eksponerer identiteten til den klassiske bufferstrømmen, SourceDataType eksponerer den klassiske kildedatatypen, og RawHasStorageStream rapporterer om en lastet buffer kom fra en uavhengig PivotCache-lagringstrøm |
TXLSWorkbook | UpgradeLegacyPivotCacheFraming velger å skrive om bare eldre HotXLS-cache-framings hvis typede modell er komplett; vanlig avspilling av rå buffer forblir standarden |
StreamId skrives som SXStreamID-posten ([MS-XLS] §2.4.303) og gjentas som SXDB-hodets idstm-felt, som må være lik den; SourceDataType skrives som SXVS-posten ([MS-XLS] §2.4.317: $0001 regneark, $0002 ekstern, $0004 konsolidering, $0010 scenario) og gjentas som SXDB-hodets vsType-felt, som må være lik den. Buffere bygget fra et regnearkområde starter på regnearktypen, mens buffere lest tilbake fra en fil beholder verdien understrømmen bar, slik at BIFF-writeren aldri etterlater et SXDB-felt som navngir en post den ikke sendte ut; RawHasStorageStream markerer en buffer lastet fra sin egen lagringsstrøm, hvis arbeidsbokglobale beskrivelse kommer foran de bufrede postene
Utklippstavleintegrasjon og lim inn-alternativer
TXLSPasteOption = (xlpoValuesOnly, xlpoInsertRows, xlpoInsertCols);
TXLSPasteOptions = set of TXLSPasteOption;
function XLSGetClipboardText: WideString;
function XLSSetClipboardText(const Text: WideString): Boolean;
function XLSSetClipboardTextAndHtml(const Text: WideString;
const Html: AnsiString): Boolean;
function XLSBuildHtmlClipboard(const Html: AnsiString): AnsiString;
function XLSEncodeClipboardField(const Text: WideString): WideString;
function XLSClipboardHasText: Boolean;
function XLSParseClipboardGrid(const ClipboardText: WideString;
Loader: TXLSCSVLoader): Boolean;
function XLSClipboardHasXmlSpreadsheet: Boolean;
function XLSGetClipboardXmlSpreadsheet: WideString;
function XLSClipboardHasBiff8: Boolean;
Lim inn-alternativene deles av begge fassadenes PasteFromClipboard-overbelastninger: xlpoValuesOnly beholder de bufrede verdiene til formelceller og hopper over formatering og flettinger, mens xlpoInsertRows og xlpoInsertCols flytter eksisterende innhold før blokken lander
Hjelpefunksjonene pakker Windows-utklippstavlen inn for regneark-samhandling: teksthjelperne bruker CF_UNICODETEXT (med tilbakefall til CF_TEXT via gjeldende ANSI-kodeside), XLSSetClipboardTextAndHtml skriver tekst og en formatert HTML Format-nyttelast i én transaksjon, XLSBuildHtmlClipboard beregner CF_HTML-byteforskyvningene for et dokument eller fragment, og XLSEncodeClipboardField siterer ett tabulatorseparert felt. XLSParseClipboardGrid parser utklippstavletekst som tabulatorseparerte rader med samme typesniffing som TXLSCSVLoader bruker for CSV, og Biff8-hjelperne oppdager og leser den native strømmen Excel selv legger på utklippstavlen, slik at innlimte data beholder verdier, formler og formatering uten tap av tekst
Oppløsning av cellevistekst
TXLSCellDisplayMode = (xcdmFormattedValue, xcdmFormulaText,
xcdmSuppressedZero);
TXLSCellDisplayOptions = record
ShowFormulas: Boolean;
ShowZeros: Boolean;
SheetProtected: Boolean;
FormulaWidthFactor: Double;
DateSerialZero: Double;
end;
TXLSCellDisplayInput = record
HasFormula: Boolean;
FormulaHidden: Boolean;
IsNumericZero: Boolean;
FormulaText: WideString;
FormattedText: WideString;
end;
TXLSCellDisplayResult = record
Mode: TXLSCellDisplayMode;
Text: WideString;
TreatAsText: Boolean;
EffectiveWidthFactor: Double;
end;
function XLSDefaultCellDisplayOptions: TXLSCellDisplayOptions;
function XLSNormalizeFormulaDisplayText(const FormulaText: WideString): WideString;
function XLSResolveCellDisplay(const Options: TXLSCellDisplayOptions;
const Input: TXLSCellDisplayInput): TXLSCellDisplayResult;
Én delt resolver bestemmer hva en celle viser for en gitt visningstilstand: formler i stedet for verdier, undertrykte nuller, skjult formeltekst på beskyttede ark, og den doblede breddefaktoren Excel bruker ved formelvisning. Arbeidsbokfremviseren og rendrerene kaller den gjennom sine inngangspunkter for visningsalternativer, og programmer kan kalle XLSResolveCellDisplay direkte med egne inndataposter; XLSDefaultCellDisplayOptions returnerer de kanoniske standardverdiene, og XLSNormalizeFormulaDisplayText normaliserer en formelstreng for visning
Datavalideringsobjekter i Classic
TXLSDataValidationType = (xlsDvAny, xlsDvWhole, xlsDvDecimal, xlsDvList,
xlsDvDate, xlsDvTime, xlsDvTextLength, xlsDvCustom);
TXLSDvErrorStyle = (xlsDvErrStop, xlsDvErrWarning, xlsDvErrInformation);
TDVRange = class; { one validation rule over one or more ranges }
TDVRangeList = class; { the per-sheet rule collection }
TDataValidator = class; { engine that checks edits against the rules }
De typede TXLSWorksheet.Add*Validation-hjelperne oppretter TDVRange-regler i arkenes TDVRangeList; hver regel bærer sin TXLSDataValidationType, grensene sine, inndata- og feilmeldinger, og TXLSDvErrorStyle. TDataValidator evaluerer en redigering mot reglene og rapporterer om verdien er akseptabel, noe som også er kontrollen bak Excels egne valideringsprompter
Skanning og oppløsning av indekserte farger
TXLSIndexedColorKind = (xickPalette, xickAutomatic, xickSystem, xickInvalid);
TXLSSystemColorRole = (xscrNone, xscrWindowText, xscrWindowBackground,
xscrChartText, xscrChartBackground, xscrChartNeutral, xscrToolTipText);
TXLSIndexedColorResolution = record
Kind: TXLSIndexedColorKind;
RawIndex: Int64;
PaletteSlot: Integer;
SystemColorRole: TXLSSystemColorRole;
ARGB: LongWord;
HasResolvedColor: Boolean;
end;
TXLSNearestIndexedColorMatch = record
InputARGB: LongWord;
ColorIndex: Integer;
PaletteSlot: Integer;
ARGB: LongWord;
DistanceSquared: Double;
ExactMatch: Boolean;
end;
TXLSIndexedColorUsageKind = (xicukFont, xicukFillForeground,
xicukFillBackground, xicukGradient, xicukBorder, xicukConditionalFormat,
xicukChart, xicukShape, xicukComment, xicukWorksheet, xicukOther);
Disse postene ligger bak arbeidsboknivå-metodene ResolveIndexedColor, NearestIndexedColor og ScanIndexedColorUsage: en oppløsning rapporterer hvilken av de fire TXLSIndexedColorKind-kildene et indeksert token kom fra, sammen med palettplassen, systemfargerollen og den normaliserte ARGB-verdien, et nærmeste-match legger til kvadrert RGB-avstand og eksakt-match-flagget, og bruksskanningen tagger hver forbrukerkategori som låser en palettplass. Biblioteket holder en intern TXLSIndexedColorMatcher-buffer nøklet på palettgenerasjon — FindNearest svarer på spørringer etter nærmeste farge fra den, og UpdateSlot oppdaterer én palettplass — slik at gjentatte oppløsninger forblir allokeringfrie
A1-referansehjelpere
function XLSA1CellRef(ARow, ACol: Integer): WideString;
function XLSTryParseA1CellRef(const ARef: WideString;
out ARow, ACol: Integer): Boolean;
function XLSTryParseA1RangeRef(const ARef: WideString;
out ARow1, ACol1, ARow2, ACol2: Integer): Boolean;
Selvstendige hjelpere for samme A1-notasjon som arbeidsbok-API-ene godtar: de formaterer nullbaserte koordinater som en A1-cellereferanse og parser celle- eller områdereferanser tilbake, og returnerer False for feilformatert inndata i stedet for å utløse unntak
Se også