Gelişmiş Çalışma Kitabı İş Akışları
Bu rehber, bir çalışma kitabı iş akışı temel hücre okuma ve yazmanın ötesine geçtiğinde en çok işe yarayan üst düzey API'leri bir araya toplar
Baskıya hazır PDF çıktısı
Klasik XLS ve modern XLSX için çalışma kitabı, çalışma sayfası ve aralık düzeyindeki PDF aktarımları; biçimlendirilmiş değerleri, hücre dolgularını, yazı tipi rengini ve vurgusunu, hizalamayı, kenarlıkları, isteğe bağlı kılavuz çizgilerini, sütun genişliklerini, satır yüksekliklerini, elle eklenen sayfa sonlarını, tekrarlanan baskı başlıklarını ve üç parçalı üst ve alt bilgileri çizer
Sheet.PageSetup.PrintArea := 'A1:H80';
Sheet.PageSetup.PrintTitleRows := '$1:$3';
Sheet.PageSetup.RightHeader := 'Page &P of &N';
Sheet.HPageBreaks.Add(45);
Workbook.SaveAsPDF('report.pdf');
Modern çalışma kitapları aynı doğrudan giriş noktalarını TXLSXWorkbook, TXLSXWorksheet ve TXLSXRange üzerinden sunar
ModernSheet.PrintArea := '$A$1:$H$80';
ModernSheet.PrintTitleRows := '$1:$3';
ModernSheet.AddRowBreak(45);
ModernWorkbook.SaveAsPDF('modern-report.pdf');
WinAnsi dışındaki metinler, gömülü TrueType CID yazı tipi ve ToUnicode eşlemesiyle yazılır; böylece okuyucular Unicode metni çizebilir ve ayıklayabilir
Çalışma kitabının belirli bir betiği ya da kurumsal yazı tipini kullanması gerekiyorsa TXLSPDFExport.UnicodeFontFile değerini ayarlayın; aksi hâlde dışa aktarıcı, kurulu yazı tipleri arasından uygun olanı seçer
Önizleme, PDF ve özel çıktının aynı kağıt geometrisini, kenar boşluklarını, sığdırma ölçeğini, elle eklenen sonları, tekrarlanan başlıkları, sayfa sırasını, üst ve alt bilgileri ve çizim çıtalarını paylaşması gerekiyorsa TXLSPaginationModel kullanın
Pages := Exporter.CreatePaginationModel(Workbook);
try
Pages.SavePageAsMetafile(0, 'FirstPage.emf');
finally
Pages.Free;
end;
İlerleme, iptal ve tanılama
Begin, work ve end geri çağırmaları için OnProgressEx kullanın; bir işlemi iptal etmek için abort argümanını ayarlayın
Kaydetme, açma ya da yeniden hesaplama hatalarından sonra yalnızca sayısal dönüş değerine güvenmek yerine Diagnostics ya da LastDiagnostic içeriğine bakın
Desteklenmeyen OOXML paket parçaları
TXLSXWorkbook.PreserveUnsupportedParts varsayılan olarak true'dur ve bilinmeyen kök, çalışma kitabı, çalışma sayfası ya da çizim ilişkileri üzerinden erişilebilen özel parçaları saklı tutar
UnsupportedPartCount ve UnsupportedPartBytes saklanan içeriği raporlar; ClearUnsupportedParts ise kaydetmeden önce bu içeriği bilinçli olarak kaldırır
Zengin pano alışverişi
Hem Unicode tablo metnini hem de CF_HTML'i yayınlamak için aralık düzeyindeki CopyToClipboard çağırın; bu aktarım görüntüleme biçimlendirmesini, formülleri, birleştirilmiş hücreleri, köprüleri ve güvenle tırnaklanan gömülü ayırıcıları kapsar
VBA kaynak düzenleme
Bir VBA projesi yükledikten sonra mevcut modülün SourceCode içeriğini güncelleyin ve çalışma kitabını ya da bağımsız depolamayı kaydedin
Yazıcı, akış öneklerini ve dokunulmamış proje içeriğini korurken yalnızca düzenlenen kaynak akışını yeniden sıkıştırır
Klasik form denetimleri
MacroName := Workbook.Names.Add('RunReport', '=0', False);
MacroName.IsMacro := True;
Button := Sheet.AddButton('Run report', 1, 2, 2, 5);
Button.MacroName := 'RunReport';
CheckBox := Sheet.AddCheckBox('Approved', 2, 2, 3, 5);
CheckBox.State := xcsMixed;
CheckBox.LinkedCell := 'Controls!$F$2';
RadioButton := Sheet.AddRadioButton('Primary', 4, 2, 5, 5);
RadioButton.FirstInGroup := True;
ComboBox := Sheet.AddComboBox(5, 2, 6, 5);
ComboBox.SourceRange := 'Controls!$A$1:$A$8';
ListBox := Sheet.AddListBox(8, 2, 12, 5);
ListBox.SourceRange := 'Controls!$A$1:$A$8';
Türlü sarmalayıcılar; etiketleri, denetim türlerini, çıtaları, işaret durumlarını, düz ya da 3B görünümü, radyo grubu bağlantılarını, makro bağlarını, bağlı hücreleri, giriş aralıklarını, numaralandırmayı ve silmeyi klasik XLS açma-kaydetme döngüleri boyunca korur
Seçmeli biçim yamaları
Target.ApplyFormatPatch(Source, [xfpFont, xfpFill, xfpNumberFormat]);
Daha küçük bir kaynak aralık, daha geniş hedef üzerinde döşenir; seçilmemiş biçimlendirme ve hedefteki tüm değerler değişmeden kalır
Master-detail veri kümesi aktarımı
Bağlı detail veri kümelerini her master kaydın altına aktarmak için TDataToXLS.ReadDetailTables seçeneğini, her ilişki düzeyi için bir girinti sütunu eklemek üzere IndentDetailTables seçeneğini açın
WordArt
Shape := Sheet.AddWordArt('HotXLS', 'textArchUp', 2, 2, 6, 8);
Shape.TextColor := $FF00A060;
Shape.OutlineColor := $FF17365D;
Tam DrawingML çıtası, sonraki açma ve kaydetme döngülerinde ham çizim koruma yolu üzerinden ayakta kalır
PDF baskıyı, form denetimlerini, biçim yamalarını ve WordArt'ı bir arada kullanan kompakt, çalıştırılabilir bir örnek için Demo\Delphi\FeatureShowcase demosuna bakın