HotXLS Belgeleri

CreateLoadedCellCursor yöntemi

Yüklü bir XLSX çalışma kitabında saklanan hücreler üzerinde pull modelinde bir imleç oluşturur; bağımsız biçimlendirilmiş boşlukları dahil etme seçeneği sunar

Sözdizimi

function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(
  AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;

Gezinme sırası ve maliyet

İmleç çalışma sayfalarını koleksiyon sırasında, ardından hücreleri artan satır ve sütun sırasına göre ziyaret eder

SheetIndex, Row ve Col bire dayalı genel koordinatlardır

Somutlaştırılmış çalışma sayfaları, sıralı bir hücre listesi oluşturmadan ayrılmış 256 satırlık seyrek bloklarından doğrudan okunur

Paketlenmiş çalışma sayfaları, paketlenmiş depolama yineleyicisi üzerinden doğrudan okunur ve gezinme sonrasında paketlenmiş olarak kalır

İmleç durumu çalışma kitabı boyutuna göre sabittir ve XLSX satır veya sütun sınırlarına göre boyutlanmış diziler ayırmaz

Parametresiz aşırı yükleme; yalnızca stile sahip boşlukları, saklanan Empty yer tutucularını ve saklanan Null yer tutucularını atlar

Somutlaştırılmış veya paketlenmiş depolamadan bağımsız biçimlendirilmiş boş koordinatları, paketlenmiş hücreleri somutlaştırmadan dahil etmek için True geçirin

Stilsiz Empty ve Null yer tutucuları her iki modda da dışarıda bırakılır

Anlık görüntü alanları

AlanAnlam
SheetIndex / SheetNameYakalama anında sahip çalışma sayfasının kimliği
Row / ColBire dayalı hücre koordinatları
StyleIndexSomutlaştırılmış veya paketlenmiş depolamadan yakalanan XLSX hücre biçim indeksi
KindxlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, xlckError veya xlckBlank
ValueGeçerli hücre için yakalanan, sahip olunan Variant değeri
FormulaFormül hücreleri için formül metni, aksi takdirde boş dize

TXLSLoadedCellSnapshot içindeki dizeler ve Variant'lar sahip olunan değerlerdir ve iç hücre veya paketlenmiş depolama işaretçilerini açığa çıkarmaz

XLSX formül hücrelerinde Value o anda saklanan önbelleğe alınmış değerdir ve gezinme formülü yeniden hesaplamaz

xlckBlank için Value Unassigned, Formula boş ve StyleIndex saklanan hücre biçimini tanımlar

Durum, geçersizleştirme ve yaşam süresi

State, ilk başarılı MoveNext'e kadar xlccBeforeFirst, Current kullanılabilir olduğu sürece xlccActive ve geçiş tamamlandıktan sonra xlccEof olur

İlk hücreden önce veya EOF sonrasında Current okumak EXLSLoadedCellCursorState oluşturur

Saklanan hücre oluşturmak veya silmek, paketlenmiş depolamanın somutlaştırılması, açık indeks yeniden derlemeleri veya çalışma sayfası ekleme, silme, taşıma ve temizleme işlemleri imleci geçersiz kılar

Sonraki MoveNext veya Current çağrısı bu durumda EXLSLoadedCellCursorInvalidated oluşturur

Mevcut bir hücrenin değerini, formülünü veya biçimini değiştirmek imleci geçersiz kılmaz ve halihazırda yakalanmış bir anlık görüntü değişmeden kalır

İmleçten önce çalışma kitabının serbest bırakılması da, imleci asılı bir çalışma kitabı işaretçisiyle bırakmak yerine EXLSLoadedCellCursorInvalidated oluşturur

Jenerasyon doğrulaması fail-fast algılamadır ve eşzamanlı değişiklik ile gezinmeyi iş parçacığı açısından güvenli hale getirmez

Örnek

Cursor := Workbook.CreateLoadedCellCursor;
while Cursor.MoveNext do
begin
  Cell := Cursor.Current;
  Memo1.Lines.Add(Format('%s!R%dC%d = %s',
    [Cell.SheetName, Cell.Row, Cell.Col, VarToStr(Cell.Value)]));
end;

Ayrıca bkz.