Dokumentacija HotXLS

Generacija strukture učitane radne sveske

Strukturne generacije omogućavaju čitaocu da zadrži jeftine snimke i odbije obilazak nakon što se promeni topologija radne sveske od koje on zavisi

Izvori generacija

MehanizamGeneracija skladišta ćelijaGeneracija kolekcije radnih listova
Classic XLSTXLSWorksheet.CellStructureGenerationTXLSWorksheets.StructureGeneration
XLSXTXLSXWorksheet.CellStructureGeneration ili TXLSXCells.StructureGenerationTXLSXSheets.StructureGeneration

Svako svojstvo je vrednost UInt64 samo za čitanje, a tačan iznos promene nije ugovoren

Operacije koje poništavaju važenje

Kreiranje, uklanjanje ili pražnjenje uskladištenih ćelija menja generaciju skladišta ćelija kada se topologija zaista promeni

Umetanje i brisanje redova ili kolona, premeštanje koordinata, spakovano dodavanje ili materijalizacija i eksplicitna ponovna izgradnja indeksa ćelija takođe poništavaju važenje stanja obilaska skladišta ćelija

Dodavanje, brisanje, premeštanje ili pražnjenje radnih listova menja generaciju kolekcije radnih listova kada se kolekcija zaista promeni

Operacije koje ne poništavaju važenje

Promena vrednosti, formule, keširane vrednosti ili formata postojeće ćelije ne menja generaciju njenog skladišta ćelija

Preimenovanje ili aktiviranje radnog lista ne menja generaciju kolekcije radnih listova, a bezdelatna premeštanja, izostala brisanja ili pražnjenje već prazne kolekcije zadržavaju tekuću generaciju

Provera

Pozovite XlsValidateStructureGeneration pre napredovanja ili čitanja stanja obilaska kreiranog za raniju generaciju

Nesuglasnost podiže EXLSLoadedCellCursorInvalidated, omogućavajući pozivaocu da razlikuje strukturno poništavanje važenja od grešaka u podacima ili formatiranju

ExpectedGeneration := Worksheet.CellStructureGeneration;

{ Read or retain traversal state }

XlsValidateStructureGeneration(
  ExpectedGeneration,
  Worksheet.CellStructureGeneration);

Kursor klasične radne sveske

IXLSWorkbook.CreateLoadedCellCursor snima zbirnu generaciju klasične radne sveske i proverava je pre svakog poziva MoveNext i Current

Kursor obilazi direktno alocirane grane razređenog skladišta sa nepromenljivim stanjem kursora i vraća snimke TXLSLoadedCellSnapshot u vlasništvu

Bulovo preopterećenje zamrzava da li se uključuju samostalno stilizovane uskladištene prazne ćelije; nasleđeni formati reda, kolone i radnog lista ne stvaraju prazne zapise kursora

Kursor XLSX radne sveske

TXLSXWorkbook.CreateLoadedCellCursor snima zakup u trajanju života radne sveske i zbirnu generaciju topologije deljenu svakim skladištem ćelija radnih listova i kolekcijom radnih listova

Materijalizovani put čita razređene blokove redova direktno, dok spakovani put ponovo koristi spakovani iterator bez materijalizacije ćelija ili zadržavanja unutrašnjih pokazivača u snimcima

Bulovo preopterećenje može da uključi uskladištene prazne ćelije samo sa stilom u obe reprezentacije skladišta, dok nestilizovani rezervisani sadržaji Empty i Null ostaju isključeni

Otpuštanje radne sveske poništava važenje njenog zakupa pre nego što se skladište radnih listova oslobodi, pa kasniji pristup kursoru podiže EXLSLoadedCellCursorInvalidated

Granica konkurentnosti

Provere generacija pružaju samo otkrivanje sa trenutnim prekidom i ne čine istovremenu mutaciju radne sveske i obilazak bezbednim po nitima

Vidi takođe