Podpora Free Pascalu a Lazarusu
HotXLS podporuje Free Pascal 3.2.2 s Lazarus/LCL na Windows Win32 a Win64, včetně API sešitů XLS/XLSX, vzorců, formátování, přímého streamování, exportních komponent TDataToXLS a TGridToXLS a pomocníků pro vykreslování
Sestavení a testování
Otevřete Lib/FPC/HotXLSLaz.lpk v Lazarusu a zkompilujte běhový balíček, nebo spusťte tyto příkazy z adresáře HotXLS
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Nastavte LAZARUS_DIR pro výběr instalace; FPC_EXE a LAZBUILD_EXE mohou v případě potřeby vybrat výslovné spustitelné soubory kompilátoru a stavitele balíčků
Vybraná instalace musí obsahovat FPC a zkompilované jednotky LCL/LazUtils pro cílovou architekturu; výstupy a konfigurace stavitele balíčků se uchovávají v samostatných adresářích pro jednotlivé architektury
Nastavení aplikace
Přidejte Lib a Lib/FPC do vyhledávací cesty jednotek a Lib do vyhledávací cesty include, nebo přidejte běhový balíček jako závislost projektu Lazarus
Umístěte Interfaces před jednotky HotXLS v seznamu uses aplikace, včetně konzolových aplikací; tím se inicializuje widgetset LCL a konverze UTF-8 na hranicích RTL/LCL
program WorkbookExample;
{$mode delphiunicode}
uses
Interfaces, SysUtils, lxHandleX;
var
Workbook: TXLSXWorkbook;
begin
Workbook:= TXLSXWorkbook.Create;
try
Workbook.AddSheet('Data');
Workbook.Sheets[1].Cells[1, 1].Value:= 'Hello';
if Workbook.SaveAs('example.xlsx')<> 1 then
raise Exception.Create('Workbook save failed');
finally
Workbook.Free;
end;
end.
Zdrojové jednotky HotXLS si interně vybírají sémantiku Unicode Delphi, takže řetězce, znaky a text vzorců si zachovávají chování UTF-16; aplikační kód může používat svůj preferovaný režim Pascal
Podrobnosti o kompatibilitě
- Běhový balíček vyžaduje Windows a LCL;
TDataToXLSexportuje datové sady LCL aTGridToXLSexportujeTDBGrid, s výslovnými sloupci i bez nich, zatímco Linux, macOS, ukázkové formuláře VCL, prohlížeč sešitů VCL a adaptér mřížky DevExpress leží mimo tento balíček - Proudy ZIP a komprese používají přibalený Pascal backend a nepotřebují samostatnou DLL zlib
- AES používá Pascal backend pro obě architektury, včetně souborů XLSX chráněných heslem
- PNG zachovává alfakanál, EMF používá nahrávání a přehrávání Windows metafile a vícestránkový TIFF používá runtime GDI+ Windows
- Přímé čtení textu přijímá UTF-8 a UTF-16/UTF-32 se značkou BOM, zpracovává proudový vstup a ponechává vlastnictví proudu na volajícím
- Inicializujte
TXlsCsvImportOptionspřesTXlsCsvImportOptions.Default, než změníte jednotlivá pole - Výrazy sestav a importní vzory FPC používají syntaxi Unicode
URegExprnamísto PCRE backendu Delphi. Prázdný vstup je zodpovězen tak, jak na něj odpovídáTRegEx: vzor, který akceptuje prázdný řetězec, například^$nebo.*, jej porovná, zatímco[0-9]+nikoli, a nahrazení prázdného řetězce dá náhradní text jen tehdy, když jej vzor akceptuje; nepodporované a prázdné vzory vyvolávajíERegularExpressionError, který výrazy sestav zpřístupňují jakoREPORT_EXPRESSION_INVALID_REGEX