Podpora Free Pascalu a Lazarusu
HotXLS podporuje Free Pascal 3.2.2 s Lazarus/LCL na Windows Win32 a Win64, vrátane API zošitov XLS/XLSX, vzorcov, formátovania, priameho streamovania, exportných komponent TDataToXLS a TGridToXLS a pomocníkov vykresľovania
Zostavenie a testovanie
Otvorte Lib/FPC/HotXLSLaz.lpk v Lazaruse a skompilujte runtime balík, alebo spustite tieto príkazy z adresára 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 na výber inštalácie; FPC_EXE a LAZBUILD_EXE môžu v prípade potreby vybrať explicitné spustiteľné súbory kompilátora a zostavovača balíkov
Vybraná inštalácia musí obsahovať FPC a skompilované jednotky LCL/LazUtils pre cieľovú architektúru; výstupy a konfigurácia zostavovača balíkov sa uchovávajú v samostatných adresároch pre jednotlivé architektúry
Nastavenie aplikácie
Pridajte Lib a Lib/FPC do vyhľadávacej cesty jednotiek a Lib do vyhľadávacej cesty include, alebo pridajte runtime balík ako závislosť projektu Lazarus
Umiestnite Interfaces pred jednotky HotXLS v zozname uses aplikácie, vrátane konzolových aplikácií; tým sa inicializuje widgetset LCL a konverzia UTF-8 na hraniciach 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 interne vyberajú sémantiku Unicode Delphi, takže reťazce, znaky a text vzorcov si zachovávajú správanie UTF-16; kód aplikácie môže používať svoj preferovaný režim Pascal
Podrobnosti kompatibility
- Runtime balík vyžaduje Windows a LCL;
TDataToXLSexportuje dátove sady LCL aTGridToXLSexportujeTDBGrid, s explicitnými stĺpcami aj bez nich, zatiaľ čo Linux, macOS, ukážkové formuláre VCL, prehliadač zošitov VCL a adaptér mriežky DevExpress sú mimo tohto balíka - Prúdy ZIP a kompresie používajú priložený Pascal backend a nevyžadujú samostatnú DLL zlib
- AES používa Pascal backend pre obe architektúry, vrátane súborov XLSX chránených heslom
- PNG zachováva alfa kanál, EMF používa nahrávanie a prehrávanie Windows metafiles a viacstránkový TIFF používa runtime GDI+ Windows
- Priame čítanie textu prijíma UTF-8 a UTF-16/UTF-32 so značkou BOM, spracováva prúdový vstup a ponecháva vlastníctvo prúdu volajúcemu
- Inicializujte
TXlsCsvImportOptionscezTXlsCsvImportOptions.Default, než zmeníte jednotlivé polia - Výrazy zostáv a importné vzory FPC používajú syntax Unicode
URegExprnamiesto PCRE backendu Delphi. Prázdny vstup sa zodpovedá tak, ako naň odpovedáTRegEx: vzor, ktorý prijíma prázdny reťazec, napríklad^$alebo.*, ho porovná, zatiaľ čo[0-9]+nie, a nahradenie prázdneho reťazca vráti náhradný text iba vtedy, keď ho vzor prijíma; nepodporované a prázdne vzory vyvolávajúERegularExpressionError, ktorý výrazy zostáv vystavujú akoREPORT_EXPRESSION_INVALID_REGEX