Dokumentace HotXLS

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