HotXLS-dokumentation

Avancerede projektmappe-arbejdsgange

Denne vejledning samler de højere-niveau API'er, som er mest nyttige, når en projektmappearbejdsgang går ud over grundlæggende læsning og skrivning af celledata

Udskriftsklar PDF-uddata

Klassiske XLS- og moderne XLSX-projektmappe-, regnearks- og område-PDF-eksporter gengiver formaterede værdier, cellefyld, skrifttypefarve og -fremhævning, justering, kanter, valgfrie gitterlinjer, kolonnebredder, rækkehøjder, manuelle sideskift, gentagne udskriftstitler samt tre-delte sidehoveder og sidefødder

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');

Moderne projektmapper udstiller de samme direkte indgangspunkter via TXLSXWorkbook, TXLSXWorksheetog TXLSXRange

ModernSheet.PrintArea := '$A$1:$H$80';
ModernSheet.PrintTitleRows := '$1:$3';
ModernSheet.AddRowBreak(45);
ModernWorkbook.SaveAsPDF('modern-report.pdf');

Tekst uden for WinAnsi skrives med en indlejret TrueType-CID-skrifttype og et ToUnicode-kort, så læsere kan gengive og udtrække Unicode-tekst

Angiv TXLSPDFExport.UnicodeFontFile , når en projektmappe har brug for et bestemt skriftsystem eller en virksomhedstype, ellers vælger eksportøren en passende installeret skrifttype, når det er muligt

Use TXLSPaginationModel når forhåndsvisning, PDF og brugerdefineret output skal dele samme papirgeometri, margener, tilpasningsskala, manuelle sideskift, gentagne titler, sideorden, sidehoveder, sidefødder og tegningsankre

Pages := Exporter.CreatePaginationModel(Workbook);
try
  Pages.SavePageAsMetafile(0, 'FirstPage.emf');
finally
  Pages.Free;
end;

Fremskridt, annullering og diagnosticering

Brug OnProgressEx til begyndelses-, arbejds- og slutnings-tilbagekald, og angiv dets annulleringsargument for at afbryde en handling

Undersøg Diagnostics eller LastDiagnostic efter fejl ved gemning, åbning eller genberegning i stedet for kun at stole på en numerisk returværdi

Ikke-understøttede OOXML-pakkedele

TXLSXWorkbook.PreserveUnsupportedParts er som standard true og bevarer brugerdefinerede dele, der kan nås gennem ukendte rod-, projektmappe-, regnearks- eller tegningsrelationer

UnsupportedPartCount og UnsupportedPartBytes rapporterer bevaret indhold, mens ClearUnsupportedParts bevidst fjerner det før en gemning

Omfattende udklipsholderudveksling

Kald CopyToClipboard på områdeniveau for at publicere både Unicode-tabellartekst og CF_HTML, herunder visningsformatering, formler, flettede celler, links og sikkert citerede indlejrede skilletegn

Redigering af VBA-kildekode

Efter indlæsning af et VBA-projekt kan du opdatere et eksisterende moduls SourceCode og gemme projektmappen eller den selvstændige lagring

Skriveren rekomprimerer kun den redigerede kildestream, mens stream-prefikser og urørt projektindhold bevares

Klassiske formularstyringer

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';

De returnerede typede indpakninger udstiller etiketter, styringstyper, ankre, optælling og sletning

Selektive formatpatches

Target.ApplyFormatPatch(Source, [xfpFont, xfpFill, xfpNumberFormat]);

Et mindre kildeområde fliser hen over et større målområde, og ikke-valgt formatering samt alle destinationsværdier forbliver uændrede

Master-detail-datasætseksport

Aktivér TDataToXLS.ReadDetailTables for at eksportere sammenkædede detail-datasæt under hver master-post, og aktivér IndentDetailTables for at tilføje én kolonne med indrykning pr. relationsniveau

WordArt

Shape := Sheet.AddWordArt('HotXLS', 'textArchUp', 2, 2, 6, 8);
Shape.TextColor := $FF00A060;
Shape.OutlineColor := $FF17365D;

Det fulde DrawingML-anker overlever senere åbnings- og gemmecyklusser gennem stien til bevarelse af rå tegninger

Se Demo\Delphi\FeatureShowcase for et kompakt eksekverbart eksempel, der kombinerer PDF-udskrivning, formularstyringer, formatpatches og WordArt