TXLSWorkbookViewer Bileşeni
TXLSWorkbookViewer, iki çalışma kitabı motorundan birinden gelen çalışma sayfalarını Microsoft Excel ya da COM otomasyonu olmadan görüntüleyen bir VCL denetimidir
Çalışma kitabı kaynakları
- Mevcut bir
TXLSWorkbookgörüntülemek içinWorkbooközelliğine atama yapın - Mevcut bir
TXLSXWorkbookgörüntülemek içinXlsxWorkbooközelliğine atama yapın - Görüntüleyicinin bir XLS, XLSX, XLSM, XLTX, XLTM ya da ODS çalışma kitabının sahibi olmasını ve yüklemesini istiyorsanız
LoadFromFileçağırın - Hâlâ bağlı olan, sahibi dışarıda bulunan bir çalışma kitabını serbest bırakmadan önce
ClearWorkbookçağırın
Gezinme
Denetim; yatay ve dikey kaydırma çubukları, fare tekerleğiyle kaydırma, fareyle sürükleme, Shift ile aralık genişletme, ok tuşları, Home, Page Up, Page Down ve Tab gezinmesi sağlar
GoToCell bir satır ve sütun seçer, SelectRange bir dikdörtgen seçer, NextWorksheet ve PreviousWorksheet sayfalar arası geçiş yapar, SelectedRange ise normalize edilmiş A1 başvurusunu verir
Düzenleme ve hesaplama
F2, çift tıklama, yazılabilir tuş, Delete ve formül çubuğu düzenlemelerine izin vermek için Editable değerini True yapın; korumalı bir çalışma sayfasındaki kilitli hücreler salt okunur kalır
BeginEdit, CommitEdit ve CancelEdit yerinde düzenleyiciyi yönetir; EditSelectedCell ve FormulaBarText harici bir formül çubuğunu destekler
Onaylanan düzenlemeler formül, Boolean, tamsayı, kayan noktalı sayı, metin ve boş girdi olarak ayrıştırılır; ardından bağımlı formüller yeniden hesaplanır ve koşullu biçimlendirme ile sayfalama önbellekleri geçersiz kılınır
Undo ve Redo, O(1) sınırlı dairesel bir geçmiş kullanır; kapasiteyi kontrol etmek ya da geçmişi devre dışı bırakmak için UndoLimit değerini ayarlayın (sıfır geçmişi kapatır)
Delete veya ClearSelectedRange, seçimi tek işlem olarak temizler; Ctrl+C ve CopySelectedRange sekmelerle ayrılmış Unicode metni kopyalarken Ctrl+V, PasteSelectedRange ve PasteText, dikdörtgen bir metin bloğunu seçimin sol üst köşesine tek undo girdisiyle yapıştırır
Koruma ve yapısal ön uçuş, mutasyondan önce engellenmiş bir aralığın tamamını reddeder; undo ve redo her iki modelde de yerel zengin metni, formül önbelleklerini, stilleri ve yok olan hücreleri korur ve her geçmiş denemesinde aynı koruma denetimini uygular
Mevcut dizi formülleri, veri tablosu bölgeleri ve birleştirmeyi kesen çok hücreli yapıştırmalar reddedilir; tek birleştirilmiş-anchor düzenlemeleri ve tüm birleştirmeyi kapsayan temizlemeler birleştirme geometrisini korurken kısmi birleştirilmiş-aralık temizlemeleri reddedilir
Paylaşılan TXLSWorkbookEditHistory motoru denetimsiz de örneklenabilir; koordinat, yaşam süresi, hesaplama ve işlem sınırı kuralları için başsız düzenleme işlemleri bölümüne bakın
Formül başvurusu seçimi
Bir ana formül düzenleyicisi çalışma sayfası başvurusu toplarken BeginReferencePick çağırın; EndReferencePick çağrılana kadar her seçim değişikliği, geçerli A1 aralığıyla OnReferencePick olayını tetikler
Çizim
Görüntüleyici, her çalışma sayfasının sütun genişliklerini, satır yüksekliklerini ve biçimlendirilmiş görüntü metnini kullanır; klasik düz dolguları ve yazı tipi stillerini çizer ve yapılandırılabilir başlıklar, kılavuz çizgileri ve seçim renkleri sunar
XLSX çalışma sayfalarında görüntüleyici ayrıca koşullu dolguları, yazı tipi renklerini ve vurguları, sayı biçimlerini, renk ölçeklerini, yönlü pozitif ve negatif veri çubuklarını, degrade dolguları, kenarlıkları, eksenleri, gizli değerleri ve tüm yerleşik icon-set ailelerini çizer
Görüntüleyici, etkin çalışma sayfası için hazırlanmış tek bir koşullu biçimlendirme değerlendiricisini önbelleğe alır; böylece kaydırma ve seçim yeniden çizimleri çalışma kitabını yeniden taramaz. Bağlı çalışma kitabında değer, formül, aralık ya da koşullu kural değiştirdikten sonra RefreshConditionalFormats çağırın
XLSX çizimi, seyrek hücreleri ve aralık stili katmanlarını boş koordinatları indekslemeden denetler; böylece kaydırma, görünür boş hücreleri somutlaştırmaz ve çalışma sayfası deposunu büyütmez
Baskı önizleme
Etkin çalışma sayfasını, PDF sayfa geometrisi ve sayma işlemlerinin kullandığı paylaşılan TXLSPaginationModel üzerinden görüntülemek için PrintPreview değerini True yapın
PreviewPage bir tabanlıdır ve PreviewPageCount sınırına kırpılır; önizleme etkinken ok, Page Up, Page Down, Home, End, fare tekerleği ve dikey kaydırma komutları mantıksal sayfalar arasında gezinir
PaginationModel önbellekteki modeli dışa açar; SavePreviewPageAsMetafile seçili mantıksal sayfayı EMF olarak yazar ve RefreshPagination, değer, boyut, baskı ayarı, sayfa sonu, başlık ya da çizim değişikliklerinden sonra önbelleği yeniden kurar
Olaylar
OnSelectionChangeyeni seçilen satır ve sütunu bildirirOnWorksheetChangeetkin çalışma sayfası değiştikten sonra tetiklenirOnBeforeEditönerilen girdiyi değiştirebilir ya da düzenlemeyi reddedebilirOnAfterEditonaylanan hücre düzenlemesini bildirirOnReferencePickbaşvuru seçme modundayken seçili A1 aralığını yayınlar
Delphi örneği
Viewer := TXLSWorkbookViewer.Create(Self);
Viewer.Parent := Self;
Viewer.Align := alClient;
Viewer.XlsxWorkbook := Workbook;
Viewer.Editable := True;
Viewer.SelectRange(2, 1, 5, 3);
Caption := Viewer.SelectedRange;
Viewer.GoToCell(2, 3);
Viewer.FormulaBarText := '=A1*2';
Viewer.Undo;
Viewer.Redo;
Viewer.RefreshConditionalFormats;
Viewer.PrintPreview := True;
Viewer.PreviewPage := 1;
Viewer.SavePreviewPageAsMetafile('Preview.emf');
Viewer.GoToCell(12, 4);
Caption := Viewer.WorksheetName + ': ' + Viewer.SelectedCellText;
Dosya açma ve çalışma sayfası denetimleriyle çalışma zamanında kurulan eksiksiz bir görüntüleyici için Demo\Delphi\WorkbookViewer örneğine bakın