HotXLS-dokumentation

Livscykel för lokal pivotcache och inbyggd layout

Version 2.384.94 lägger till vyer med delad cache, lokal skapelse av icke-OLAP Pivot Slicer med uttrycklig borttag, rekonstruktion av grupperad cache och en avgränsad generator för inbyggd layoutmetadata

Delade vyer och Slicer-skapelse

SecondPivot := Sheet.AddPivotTable(FirstPivot.Cache, 20, 1, 'SecondView');
Cache := Workbook.CreatePivotSlicerCache(FirstPivot, 'Category');
if Cache.ConnectPivotTable(SecondPivot) <> 1 then
  raise Exception.Create('The second view could not be connected');
Slicer := Sheet.Slicers.Add(Cache, 1, 6, 8, 8);

TXLSXWorksheet.AddPivotTable(ACache: TXLSPivotCache; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable skapar ytterligare en vy av en cache som ägs av den här arbetsboken; den validerar ägarskap, geometri och namn innan vyn kopplas

TXLSXWorkbook.CreatePivotSlicerCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXSlicerCache skapar eller återanvänder på ett säkert sätt en stödd cache för källfält, medan TXLSXSlicerCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer kopplar en befintlig lokal vy med delad cache

TXLSXSlicers.Add(ACache: TXLSXSlicerCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXSlicer skapar kalkylbladsgränssnittet med uttryckliga inklusiva ettbaserade cellgränser; källnamn, cachedelar, ritreferenser och vymedlemskap mellanlagras innan ändringen

Grupperade, beräknade och OLAP-baserade Slicer-källor, främmande cacher, inkonsekventa importerade domäner och tvetydiga oberoende masker för samma fält avslås; stödd importerad vy-XML behåller orelaterade tillägg när ett nytt gränssnitt läggs till

Uttrycklig borttag och framtida medlemmar

if Workbook.RemoveSlicerCache(Cache, xlsxSlicerPreserveCurrentSelection) <> 1 then
  raise Exception.Create('The Slicer cache could not be removed');

TXLSXSlicerRemovalMode har xlsxSlicerClearSelection och xlsxSlicerPreserveCurrentSelection; TXLSXWorkbook.RemoveSlicerCache(ACache: TXLSXSlicerCache; AMode: TXLSXSlicerRemovalMode): Integer tar bort det bundna gränssnittet, ritreferenser, inbyggda cachedelar och anslutningar tillsammans

Rensningsläget tar bort den här Slicer-begränsningen men behåller oberoende filter och uppringarpredikat; bevarandeläget överför dess aktuella begränsning till vanliga Pivot-medlemsmasker innan Slicern tas bort

Åtgärden returnerar 1 vid lyckat resultat och -1 för ostödda eller osäkra bindningar; alla berörda vyer och cachetillstånd valideras och mellanlagras innan commit, och tvetydigt ägarskap för samma fält avslås utan att gissa

TXLSPivotField.IncludeNewItemsInFilter: Boolean är False som standard; en behållen manuell delmängd utesluter nytillförda medlemmar om inte den policyn uttryckligen aktiverats, medan ett obegränsat fält inkluderar dem

Bevarade urval förblir därför stabila när källan växer, medan rensningsläget inkluderar nya källmedlemmar; importerade och författade medlemslistor serialiserar samma policy för att dölja framtida medlemmar

Befintliga Delete- och Clear-åtgärder i samlingarna skyddar fortfarande en sista bunden Slicer-vy; använd den uttryckliga arbetsboksåtgärden när cachen och dess kopplade begränsningar måste tas bort tillsammans

Rekonstruktion av fast grupperad cache

Uppdateringen mellanlagrar numeriska, datum- och uttryckligt diskreta gruppidentiteter från validerade bas-/föräldralänkar, inklusive importerade härledda fält vars postkolumner saknas; källfält med endast länkar behåller sina ursprungliga värden i stället för att själv grupperas

Stödda domäner behåller befintliga medlemshandtag, bildtexter och gruppordningstal; numerisk gruppering och datumgruppering använder en upplösning per fält och en fast inbyggd gruppobjektdomän, och datumgruppering kräver intervall ett

TXLSPivotCacheField.GroupAutoStart och TXLSPivotCacheField.GroupAutoEnd är True som standard och bevarar den importerade gränspolicyn; nya värden som kräver domänexpansion eller omgruppering avslås innan ändringen

Diskreta grupper kräver en befintlig mappning för varje källmedlem; cykliska föräldrar, ogiltiga typade domäner, icke-unika strängbildtexter, beräknade baser, medlemsegenskapsfält och föräldraupplösningar som inte stöds avslås transaktionellt

Vanlig Make rekonstruerar stödda inaktuella eller saknade härledda postvärden, medan MakePreview bara gör det på en fristående kopia; sparandet utelämnar interna platshållare för delade objekt ur härledda inbyggda domäner och genererar exakt de deklarerade gruppobjektindexen

Förhandsvisning av inbyggd layoutmetadata

function TryXLSXGeneratePivotLayout(const Xml: WideString;
  Table: TXLSPivotTable; out ResultXml, Reason: WideString): Boolean;

lxPivotXml-hjälparen mellanlagrar rowItems, colItems, axelmetadata och plats för stödda icke-tomma lokala kompakta vyer med exakta fält- och cachemedlemsidentiteter; den stöder vanliga hierarkier, standarddelsummor överst eller nederst samt valfri dataaxel

Den här rent metadatabaserade åtgärden kräver uttrycklig Cache.RefreshOnLoad=True; den bevarar okänd XML och returnerar ursprunglig XML plus en förklaring på engelska när grupperade eller beräknade fält, anpassade delsummor, layout som inte stöds eller inkonsekventa importerade identiteter inte kan representeras

Hjälparen skriver inte om kalkylbladsceller och ändrar inte aktiva tabellflaggor; uppringare som behöver cachad kalkylbladsutmatning måste tillhandahålla en lämplig skrivare och en separat stödd materialiseringsåtgärd

TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter; ALayoutWriter: TlxPivotLayoutWriter): Integer tillhandahåller synkrona layoutcallbacks från en fristående förhandsvisning och behåller den ursprungliga EvaluationSourceTable-identiteten

TlxPivotLayoutWriter tar emot ursprungstabellen, rad-/kolumnaxel, kopierade vektorer för fältindex och cacheobjektindex, TlxPivotLayoutItemKind, delsummatyp och prefixlängd; xlplikData, xlplikSubtotal och xlplikGrand skiljer aggregeringsidentiteter åt utan att tolka bildtexter

Vektorerna använder TlxPivotLayoutIndices och är giltiga under callbacken; undantag propageras, och befintligt beteende i Make och MakePreview med en enda skrivare finns fortfarande

TXLSPivotTables._AddOwned(ATable: TXLSPivotTable) reserverar samlingskapacitet före ägarskapsöverföringen och stöder intern transaktionell vykoppling; program bör normalt använda kalkylbladens författarmetoder

Avgränsningar

Version 2.384.95 lägger till inbyggd cachad kalkylbladsutmatning, skrivskyddad tillgänglighet för korsfilter och uttrycklig rensning av historiska medlemmar; serialiserad inbyggd visning utan data, Timeline-författande och bredare serialisering av grupperad layout behåller separata acceptansgränser