Pokročilé pracovní postupy se sešity
Tato příručka seskupuje vyšší úrovně API, které se nejvíc hodí, když pracovní postup sešitu jde nad rámec základního čtení a zápisu buněk
Tiskový výstup do PDF
Exporty do PDF v Classic XLS i moderním XLSX na úrovni sešitu, listu i oblasti vykreslí formátované hodnoty, výplně buněk, barvu a zvýraznění písma, zarovnání, ohraničení, volitelnou mřížku, šířky sloupců, výšky řádků, ruční konce stránek, opakované tiskové titulky a trojdílná záhlaví a zápatí
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í sešity vystavují stejné přímé vstupní body přes TXLSXWorkbook, TXLSXWorksheet a TXLSXRange
ModernSheet.PrintArea := '$A$1:$H$80';
ModernSheet.PrintTitleRows := '$1:$3';
ModernSheet.AddRowBreak(45);
ModernWorkbook.SaveAsPDF('modern-report.pdf');
Text mimo WinAnsi se zapisuje vloženým TrueType CID fontem s mapou ToUnicode, takže čtečky dokáží Unicode text vykreslit i extrahovat
TXLSPDFExport.UnicodeFontFile nastavte, když sešit potřebuje konkrétní skript či firemní písmo; jinak exportér při dostupnosti vybere vhodný nainstalovaný font
TXLSPaginationModel použijte, když musí náhled, PDF i vlastní výstup sdílet stejnou geometrii papíru, okraje, měřítko přizpůsobení, ruční konce stránek, opakované titulky, pořadí stránek, záhlaví, zápatí i anchores kreseb
Pages := Exporter.CreatePaginationModel(Workbook);
try
Pages.SavePageAsMetafile(0, 'FirstPage.emf');
finally
Pages.Free;
end;
Průběh, zrušení a diagnostika
Pro callbacky begin, work a end použijte OnProgressEx a jeho argument abort nastavte, chcete-li operaci zrušit
Po selhání ukládání, otevírání či přepočtu se podívejte do Diagnostics nebo LastDiagnostic místo spoléhání jen na číselnou návratovou hodnotu
Nepodporované části balíčku OOXML
TXLSXWorkbook.PreserveUnsupportedParts má výchozí hodnotu true a zachovává vlastní části dosažitelné přes neznámé relace root, workbook, worksheet či drawing
UnsupportedPartCount a UnsupportedPartBytes hlásí zachovaný obsah, zatímco ClearUnsupportedParts jej před uložením záměrně odstraní
Bohatá výměna přes schránku
Zavolejte CopyToClipboard na úrovni oblasti, abyste publikovali unicode tabulkový text i CF_HTML, včetně zobrazovacího formátování, vzorců, sloučených buněk, odkazů a bezpečně uvozovaných vložených oddělovačů
Editace zdrojového kódu VBA
Po načtení VBA projektu aktualizujte SourceCode existujícího modulu a uložte sešit či samostatné úložiště
Writer znovu zkomprimuje jen upravený zdrojový stream, přičemž zachová předpony streamů a nedotčený obsah projektu
Classic formulářové ovládací prvky
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';
Typované obálky při cyklech otevření a uložení Classic XLS zachovávají popisky, druhy ovládacích prvků, anchores, stavy zaškrtnutí, plochý či 3D vzhled, vazby radiogrup, makro vazby, propojené buňky, vstupní rozsahy, enumeraci i mazání
Selectivní záplaty formátů
Target.ApplyFormatPatch(Source, [xfpFont, xfpFill, xfpNumberFormat]);
Menší zdrojová oblast se dlaždí přes větší cíl a nevybrané formátování plus všechny hodnoty cíle zůstávají nezměněné
Export datasetů master-detail
Zapněte TDataToXLS.ReadDetailTables, chcete-li pod každý záznam masteru exportovat propojené detailní datasety, a IndentDetailTables, chcete-li přidat jeden sloupec odsazení na každou úroveň relace
WordArt
Shape := Sheet.AddWordArt('HotXLS', 'textArchUp', 2, 2, 6, 8);
Shape.TextColor := $FF00A060;
Shape.OutlineColor := $FF17365D;
Kompletní anchor DrawingML přežije pozdější cykly otevření a uložení díky cestě zachování surových kreseb
Kompaktní spustitelný příklad kombinující PDF tisk, formulářové ovládací prvky, záplaty formátů a WordArt najdete v Demo\Delphi\FeatureShowcase