HotXLS-dokumentasjon

Generering av innlastet arbeidsbokstruktur

Strukturgenereringer lar en leser behandle rimelige øyeblikksbilder og avvise traversering etter at arbeidsboktopologien den er avhengig av, har endret seg

Genereringskilder

MotorCellelager-genereringArksamplingsgenerering
Classic XLSTXLSWorksheet.CellStructureGenerationTXLSWorksheets.StructureGeneration
XLSXTXLSXWorksheet.CellStructureGeneration eller TXLSXCells.StructureGenerationTXLSXSheets.StructureGeneration

Hver egenskap er en skrivebeskyttet UInt64-verdi, og den nøyaktige endringen av den er ikke kontraktuell

Ugyldiggjørende operasjoner

Å opprette, fjerne eller tømme lagrede celler endrer cellelager-genereringen når topologien faktisk endres

Rad- eller kolonneinnsetting og -sletting, koordinatflytting, pakket tillegging eller materialisering og eksplisitte gjenoppbygginger av celleindekser ugyldiggjør også cellelager-traverseringstilstanden

Å legge til, slette, flytte eller tømme ark endrer arksamplingsgenereringen når samlingen faktisk endres

Ikke-ugyldiggjørende operasjoner

Å endre verdien, formelen, bufrede verdi eller formatet i en eksisterende celle endrer ikke dens cellelager-generering

Å gi et ark nytt navn eller aktivere det endrer ikke arksamplingsgenereringen, og ikke-operasjoner som flytting, manglende sletting eller tømming av en allerede tom samling beholder den gjeldende genereringen

Validering

Kall XlsValidateStructureGeneration før du avanserer eller leser traverseringstilstand som ble opprettet for en tidligere generering

Et avvik utløser EXLSLoadedCellCursorInvalidated, slik at den som kaller, kan skille strukturell ugyldiggjøring fra data- eller formatfeil

ExpectedGeneration := Worksheet.CellStructureGeneration;

{ Read or retain traversal state }

XlsValidateStructureGeneration(
  ExpectedGeneration,
  Worksheet.CellStructureGeneration);

Classic-arbeidsbokmarkør

IXLSWorkbook.CreateLoadedCellCursor fanger den klassiske arbeidsbokens samlede generering og validerer den før hvert MoveNext- og Current-kall

Markøren traverserer tildelte sparse-lagringsgrener direkte med konstant markørtilstand og returnerer egne TXLSLoadedCellSnapshot-verdier

Boolean-overbelastningen fryser hvorvidt uavhengig stiledde lagrede tomceller tas med; arvede rad-, kolonne- og arkformater oppretter ingen tomme markøroppføringer

XLSX-arbeidsbokmarkør

TXLSXWorkbook.CreateLoadedCellCursor fanger en lease for arbeidsbokens levetid og en samlet topologigenerering som deles av hvert ark sitt cellelager og arksamlingen

Den materialiserte veien leser sparse radblokker direkte, mens den pakkede veien gjenbruker den pakkede iteratoren uten å materialisere celler eller beholde interne pekere i øyeblikksbildene

Boolean-overbelastningen kan ta med bare-styled lagrede tomceller i begge lagringsrepresentasjonene, mens ustyled Empty- og Null-plassholdere forblir utelatt

Å frigi arbeidsboken ugyldiggjør dens lease før arklagringen frigjøres, slik at senere markørtilgang utløser EXLSLoadedCellCursorInvalidated

Samtidighetsgrense

Genereringskontroller gir bare fail-fast-deteksjon og gjør ikke samtidig arbeidsbokmutasjon og traversering trådsikkert

Se også