TXLSForwardReader class
TXLSForwardReader , eksiksiz bir çalışma kitabı nesne modeli oluşturmadan klasik XLS, modern XLSX, ODS, CSV ve TSV girişi için tek bir yansıtılmış, geri çağrıyla yönetilen yüzey sunar; ayrıca şu tarafından kullanılan aynı satır imleci arka uçlarını uyarlar: TXLSRowCursor , eksiksiz bir çalışma kitabı nesne modeli oluşturmadan klasik XLS, modern XLSX, CSV ve TSV girişi için tek bir yansıtılmış, geri çağırmalı yüzey sunar
Giriş biçimi
TXLSForwardFormat , otomatik algılamayı seçer veya XLS, XLSX, CSV ya da TSV ayrıştırmayı zorlar
ReadFile adlandırılmış bir kaynak açar ve ReadStream , çağıranın geçerli akış konumundan okurken dönüşte bu konumu geri yükler
Yansıtma ve satır sınırları
IncludeColumn , sabit zamanlı yansıtma kümesine sıfır tabanlı bir sütun ekler, ClearColumnProjection tüm sütun çıktısını geri yükler ve HasColumnProjection , aşağı itmenin etkin olup olmadığını bildirir
FirstRow ve LastRow , geri çağırma dağıtımından önce bire dayalı satır sınırları uygular ve ayrıştırıcıların istenen aralıktan sonra durmasına olanak tanır
Geri çağırmalar ve değer dönüştürme
| OnSheet | Her çalışma sayfası adını alır ve bir sayfayı atlayabilir veya tüm okumayı iptal edebilir |
| OnCell | Yansıtılan her hücre için satırı, sütunu, stil indeksini, normalleştirilmiş önbelleğe alınmış değeri, formül varlığını ve formül metni kullanılabilirlik bilgisini alır |
| IncludeFormulaText | Formül metni biriktirmeyi isteğe bağlı olarak bastırırken formül varlığını ve önbelleğe alınmış değerleri korur |
| DetectDates | Tarih ve saat değerlerini tanımlamak için çalışma kitabı sayı biçimlerini kullanır |
| DetectTextTypes | CSV ve TSV alanlarını belirsizlik olmadığında desteklenen skaler türlere dönüştürür |
| PreserveRichText | Kaynak biçim desteklediğinde biçimlendirilmiş akışları ve fonetik yükü korur |
| ValueSeparator | Biçim algılaması uygun olmadığında metin alanı ayracını geçersiz kılar |
HasFormula false'tur; FormulaTextAvailable ise yalnızca Formula güvenilir metin içerdiğinde true olur. Klasik XLS, formül metni kullanılamayan önbelleğe alınmış formül sonuçlarını bildirir; çünkü ileri (forward) yol BIFF belirteçlerini ayrıştırıp açmaz
Tamamlanma durumu
CellCount dağıtılan hücreleri bildirir ve Aborted , çağıranın iptalini normal tamamlanmadan ayırt eder
ClassicBytesRead , klasik XLS (BIFF) ayrıştırıcısının tükettiği toplam baytı bildirir; ClassicPeakBufferedBytes ise aynı anda tuttuğu en yüksek tamponlanmış bayt sayısını bildirir. İkisi de klasik XLS yolu için salt okunur tanılamalardır
PeakRowBufferedBytes , paylaşılan arka ucun sakladığı en büyük tahmini mantıksal satır çalışma kümesini bildirir; SheetPassesStarted ise etkin hale gelen çalışma sayfası turlarını sayar. OnSheet tarafından reddedilen bir sayfa, çalışma sayfası parçasını açmaz ve sayacı artırmaz
Sheet indexes delivered through OnSheet ve OnCell üzerinden iletilen sayfa indeksleri, desteklenen her biçimde tutarlı olarak 1 tabanlıdır
Örnek
Reader := TXLSForwardReader.Create;
try
Reader.FirstRow := 2;
Reader.IncludeColumn(1);
Reader.IncludeColumn(5);
Reader.OnSheet := ReadSheet;
Reader.OnCell := ReadCell;
Reader.ReadFile('large-input.xlsx', xffAuto);
finally
Reader.Free;
end;Bir akış API'si seçme
Tek bir uygulama yolu birden çok biçimi kabul etmeliyse TXLSForwardReader , XLSX'e özgü düzen, zengin metin ve paralel çalışma sayfası olayları için TXLSDirectReader veya çekme tabanlı XLSX satır yinelemesi için TXLSRowCursor kullanın