Dokumentacija HotXLS

Generacija strukture učitane radne knjige

Strukturne generacije omogućuju čitatelju da zadrži jeftine snimke i odbije obilazak nakon što se promijeni topologija radne knjige od koje ovisi

Izvori generacija

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

Svako je svojstvo vrijednost UInt64 samo za čitanje, a točan iznos promjene nije ugovoren

Operacije koje poništavaju valjanost

Stvaranje, uklanjanje ili pražnjenje pohranjenih ćelija mijenja generaciju spremišta ćelija kada se topologija stvarno promijeni

Umetanje i brisanje redaka ili stupaca, premještanje koordinata, pakirano dodavanje ili materijalizacija te izričita ponovna izgradnja indeksa ćelija također poništavaju valjanost stanja obilaska spremišta ćelija

Dodavanje, brisanje, premještanje ili pražnjenje radnih listova mijenja generaciju zbirke radnih listova kada se zbirka stvarno promijeni

Operacije koje ne poništavaju valjanost

Promjena vrijednosti, formule, predmemorirane vrijednosti ili formata postojeće ćelije ne mijenja generaciju njezina spremišta ćelija

Preimenovanje ili aktiviranje radnog lista ne mijenja generaciju zbirke radnih listova, a bezdjelotvorna premještanja, izostala brisanja ili pražnjenje već prazne zbirke zadržavaju trenutačnu generaciju

Provjera valjanosti

Pozovite XlsValidateStructureGeneration prije napredovanja ili čitanja stanja obilaska stvorenog za raniju generaciju

Nesuglasnost podiže EXLSLoadedCellCursorInvalidated, omogućujući pozivatelju razlikovanje strukturnog poništavanja valjanosti od pogrešaka u podacima ili oblikovanju

ExpectedGeneration := Worksheet.CellStructureGeneration;

{ Read or retain traversal state }

XlsValidateStructureGeneration(
  ExpectedGeneration,
  Worksheet.CellStructureGeneration);

Pokazivač klasične radne knjige

IXLSWorkbook.CreateLoadedCellCursor snima zbirnu generaciju klasične radne knjige i provjerava je prije svakog poziva MoveNext i Current

Pokazivač obilazi izravno alocirane grane razrjeđenog spremišta s nepromjenjivim stanjem pokazivača i vraća snimke TXLSLoadedCellSnapshot u vlasništvu

Booleovo preopterećenje zamrzava uključuju li se samostalno stilizirane pohranjene prazne ćelije; naslijeđeni formati retka, stupca i radnog lista ne stvaraju prazne zapise pokazivača

Pokazivač XLSX radne knjige

TXLSXWorkbook.CreateLoadedCellCursor snima zakup u trajanju života radne knjige i zbirnu generaciju topologije dijeljenu svakim spremištem ćelija radnih listova i zbirkom radnih listova

Materijalizirani put čita razrjeđene bloke redaka izravno, dok pakirani put ponovno upotrebljava pakirani iterator bez materijalizacije ćelija ili zadržavanja unutarnjih pokazivača u snimcima

Booleovo preopterećenje može uključiti pohranjene prazne ćelije samo sa stilom u obje reprezentacije spremišta, dok nestilizirane rezervirane vrijednosti Empty i Null ostaju isključene

Otpuštanje radne knjige poništava valjanost njezina zakupa prije nego se spremište radnih listova oslobodi, pa kasniji pristup pokazivaču podiže EXLSLoadedCellCursorInvalidated

Granica istodobnosti

Provjere generacija pružaju samo otkrivanje s trenutačnim prekidom i ne čine istodobnu mutaciju radne knjige i obilazak sigurnima za niti

Vidi također