HotXLS-dokumentation / API-referens

Pivot Timelines och Slicer-datalägen

Finns sedan version 2.384.98 för stödda lokala icke-OLAP-pivottabeller via XLSX-arbetsboksfasaden

Skapa och koppla en Timeline

TimelineCache := Workbook.CreatePivotTimelineCache(Pivot, 'EventDate');
if TimelineCache = nil then
  raise Exception.Create('The Timeline cache was rejected');
TimelineView := ReportSheet.Timelines.Add(TimelineCache, 2, 7, 7, 12);
if TimelineView = nil then
  raise Exception.Create('The Timeline view was rejected');
if TimelineCache.SetDateRange(EncodeDate(2026, 1, 1),
    EncodeDate(2026, 1, 31)) < 0 then
  raise Exception.Create('The Timeline selection was rejected');

TXLSXWorkbook.CreatePivotTimelineCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXTimelineCache skapar eller återanvänder en validerad cache för datumfält och dess nödvändiga paketidentiteter; fel returnerar nil innan mellanlagrat tillstånd engageras

TXLSXWorkbook.TimelineCaches exponerar TXLSXTimelineCaches, med Count, nollbaserad Items[Index] och skiftlägesokänslig FindByName; arbetsboken äger de cacherna

TXLSXTimelineCache.Name identifierar cachen, SourceName identifierar dess källfält och IsNonOlapPivot identifierar den validerade stödda bindningen; importerade cacher som inte stöds behåller sin ursprungliga XML

TXLSXTimelineCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer kopplar ytterligare en ägd vy av samma PivotCache med ett kompatibelt datumfält; den returnerar 1 vid lyckat resultat, inklusive en befintlig anslutning, eller -1 vid avslag

TXLSXTimelineCache.SetDateRange(AStartDate, AEndDate: TDateTime): Integer använder inklusiva heldagsslutpunkter och returnerar 1 eller -1; slutpunkterna måste vara hela datum från 1 januari 1900 till 31 december 9999 i stigande ordning

Den stödda arbetsboken använder 1900-datasystemet; Date1904-författning och decimala urvalsslutpunkter avslås, medan källdatumvärden får behålla tid på dygnet och poster under hela den valda slutdagen förblir berättigade

TXLSXTimelineCache.SelectionActive, StartDate och EndDate exponerar de aktiva gränserna; ClearSelection: Integer rensar dem utan att ändra andra filter och returnerar 1 eller -1

Urval skär andra Slicers, manuella filter eller sidfilter samt uppringarpredikat; de här åtgärderna uppdaterar inte källcacher, omberäknar inte formler och skriver inte om befintliga rapportceller i kalkylbladet

Timeline-vyer och borttag

TXLSXWorksheet.Timelines exponerar den kalkylbladsägda samlingen TXLSXTimelines, med Add, FindByName, nollbaserad Items[Index], Count, Delete(Index) och Clear; borttag tar bort användargränssnittet medan dess delade cache och urval behålls

TXLSXTimelines.Add(ACache: TXLSXTimelineCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXTimeline accepterar en ägd cache som stöds och en ordnad ettbaserad kalkylbladsrektangel och returnerar en ägd vy eller nil

TXLSXTimeline.Name är skrivskyddad, Cache identifierar dess delade cache, och Caption ändrar visningsetiketten; Level accepterar 0 för år, 1 för kvartal, 2 för månader eller 3 för dagar

TXLSXTimeline.SetBounds ändrar den ettbaserade rektangel som exponeras av FromRow, FromCol, ToRow och ToCol; ogiltig geometri, bindningar som inte stöds eller grupperad ritgeometri utlöser undantag före ändringen

TXLSXDrawingObject.Timeline returnerar den associerade vyn för ritningstypen xlsxDrawingTimeline; direkta rittransformationer som inte stöds forblir skyddade

Status := Workbook.RemoveTimelineCache(TimelineCache,
  xlsxSlicerPreserveCurrentSelection);

TXLSXWorkbook.RemoveTimelineCache(ACache: TXLSXTimelineCache; AMode: TXLSXSlicerRemovalMode): Integer mellanlagrar anslutna filter, UI, namn och paketstädning tillsammans och returnerar 1 eller -1

xlsxSlicerClearSelection tar bort urvalet; xlsxSlicerPreserveCurrentSelection behåller ett aktivt urval som en heldags datumjämförelse endast när datumfältet redan finns på en rad- eller kolumnaxel i varje ansluten vy

Ett oanvänt eller enbart sidbaserat datumfält avslår urvalsbevarande borttag atomärt; använd uttrycklig borttag med urvalsrensning när det beteendet önskas

Importerade filter normaliseras först efter att varje anslutning, ärvda namnområden och exakt ägarfilterproveniens validerats; ogenomskinliga attribut eller barn för samma fält, främmande namnområden, externa bindningar och flera-UI-grafer som inte stöds behåller sin XML och avslår mutation

Inbyggd materialisering mellanlagrar aktuellt Timeline-urval med rapportmetadata och celler och tar bara bort den exakta sparade signaturen för det ägda filtret; godtyckliga callback-begränsningar har ingen inbyggd XML-representation och kan inte återskapas av Excel-uppdatering

OOXML-sparning bevarar inbyggda relationstyper, ursprungliga sökvägar och orelaterade tillägg; Strict-sparning med enbart cache avslås, ODS-konvertering rapporterar Timeline-förlust, och XLSB-delmängden för värden och format avslår Timelines

Uttrycklig inbyggd uppdatering av Slicer-datalägen

function TXLSXSlicerCache.RefreshItemDataStates: Integer; overload;
function TXLSXSlicerCache.RefreshItemDataStates(
  AMaxEvaluationSteps: Integer; ACancelFlag: PBoolean = nil): Integer; overload;

Åtgärden utvärderar och mellanlagrar den kompletta inbyggda no-data-vektorn och engagerar sedan under arbetsbokens skrivskydd; lyckat resultat returnerar 1, avslag returnerar -1 utan att serialiserade objektflaggor eller urval ändras

Den ignorerar denna Slicers eget urval medan den skär andra Slicer- och Timeline-val, manuella filter eller sidfilter, stödda aggregeringsfilter och uppringarpredikat; tillgängligheten är unionen över stödda anslutna vyer

Valda historiska medlemmar utan berättigade poster får den inbyggda no-data-flaggan medan deras urval behålls; stabila cache-ID, ursprunglig serialiserad objektordning och orelaterad XML förblir intakta

Standardgränsen för kumulativa steg är 1000000; noll betyder obegränsade steg, ett negativt värde avslås, och FormulaArrayMemoryLimit avgränsar metadata mellanlagring plus alla anslutna vyförhandsvisningar kumulativt

Avbrott, callback-undantag eller återinträde, frysta vyer, bindningar som inte stöds, uttömda budgeter eller ändrat utvärderingstillstånd avslås innan flaggorna engageras; oberoende ändringar i den gemensamma modellen som uppringarens callbacks gör förblir uppringarens ändringar och orsakar uppdateringsavslag

TXLSXSlicerCache.CrossFilter läser och skriver den inbyggda tabellformade korsfilterinställningen under mutationsskyddet; showItemsWithDataAtTop aktiverar inbyggd data-först-ordning utan att skriva om objektens serialiserade ordning

ItemHasData förblir en skrivskyddad fråga; sparandet anropar inte utvärderaren eller uppdaterar implicit no-data-flaggor, så anropa RefreshItemDataStates uttryckligen före sparandet när inbyggt UI-tillstånd behöver uppdateras

Avancerad datumfiltersemantik

TXLSPivotFilter.UseWholeDay begär heldags datumjämförelser för stödda datumfilter; Timeline-genererade bevarade urval använder den, medan vanliga datumfilter behåller sitt tidigare tidskänsliga beteende

Se inbyggda pivotutdata och skrivskyddad Slicer-tillgänglighet samt livscykeln för lokal cache och Slicer för de omgivande kontrakten för uppdatering och ägarskap