Suport pentru Free Pascal și Lazarus
HotXLS suportă Free Pascal 3.2.2 cu Lazarus/LCL pe Windows Win32 și Win64, inclusiv API-urile de registre de lucru XLS/XLSX, formulele, formatarea, streamingul direct, componentele de export TDataToXLS și TGridToXLS și ajutoarele de randare
Compilare și testare
Deschideți Lib/FPC/HotXLSLaz.lpk în Lazarus și compilați pachetul runtime, sau rulați aceste comenzi din directorul HotXLS
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Setați LAZARUS_DIR pentru a selecta o instalare; FPC_EXE și LAZBUILD_EXE pot selecta, când este nevoie, executabilele explicite ale compilatorului și ale constructorului de pachete
Instalarea selectată trebuie să conțină FPC și unitățile LCL/LazUtils compilate pentru arhitectura țintă; rezultatele și configurația constructorului de pachete se păstrează în directoare separate pentru fiecare arhitectură
Configurarea aplicației
Adăugați Lib și Lib/FPC la calea de căutare a unităților și Lib la calea de căutare include, sau adăugați pachetul runtime ca dependință a proiectului Lazarus
Puneți Interfaces înaintea unităților HotXLS în lista uses a aplicației, inclusiv în aplicațiile de consolă; aceasta inițializează widgetset-ul LCL și conversia UTF-8 la granițele 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.
Unitățile sursă HotXLS selectează intern semantica Unicode Delphi, astfel încât șirurile, caracterele și textul formulelor păstrează comportamentul UTF-16; codul aplicației poate folosi modul Pascal preferat
Detalii de compatibilitate
- Pachetul runtime cere Windows și LCL;
TDataToXLSexportă dataseturi LCL, iarTGridToXLSexportă unTDBGrid, cu coloane explicite sau fără, în timp ce Linux, macOS, formularele demo VCL, vizualizatorul de registre de lucru VCL și adaptorul de grilă DevExpress sunt în afara acestui pachet - Fluxurile ZIP și de compresie folosesc backendul Pascal inclus și nu cer un DLL zlib separat
- AES folosește un backend Pascal pentru ambele arhitecturi, inclusiv pentru fișierele XLSX protejate prin parolă
- PNG păstrează canalul alfa, EMF folosește înregistrarea și redarea metafișierelor Windows, iar TIFF-ul multipagină folosește runtime-ul GDI+ Windows
- Citirea directă de text acceptă UTF-8 și UTF-16/UTF-32 cu BOM, gestionează intrări în flux și păstrează proprietatea fluxului la apelant
- Inițializați
TXlsCsvImportOptionscuTXlsCsvImportOptions.Defaultînainte să modificați câmpurile individuale - Expresiile de raport și tiparele de import FPC folosesc sintaxa Unicode
URegExprîn locul backendului PCRE al Delphi. Intrarea goală primește răspunsul pe care îi dăTRegEx: un șablon care acceptă un șir gol, precum^$sau.*, se potrivește cu el, în timp ce[0-9]+nu, iar înlocuirea unui șir gol produce textul de înlocuire doar când șablonul îl acceptă; șabloanele nesuportate și cele goale ridicăERegularExpressionError, pe care expresiile de raport îl expun caREPORT_EXPRESSION_INVALID_REGEX