Free Pascal- ja Lazarus-tuki
HotXLS tukee Free Pascal 3.2.2 -versiota Lazarus/LCL:llä Windows Win32- ja Win64-alustoilla, mukaan lukien XLS/XLSX-työkirjojen API:t, kaavat, muotoilu, suora streamaus, vientikomponentit TDataToXLS ja TGridToXLS sekä renderöintiavustajat
Kääntäminen ja testaus
Avaa Lib/FPC/HotXLSLaz.lpk Lazaruksessa ja käännä ajopaketti tai suorita seuraavat komennot HotXLS-hakemistosta
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Aseta LAZARUS_DIR valitsemaan asennus; FPC_EXE ja LAZBUILD_EXE voivat tarvittaessa valita eksplisiittiset kääntäjän ja pakettirakentajan suoritettavat tiedostot
Valitun asennuksen on sisällettävä FPC ja käännettyjä LCL/LazUtils-yksiköitä kohdearkkitehtuurille; tulosteet ja pakettirakentajan määritykset pidetään erillisissä arkkitehtuurihakemistoissa
Sovelluksen asettaminen
Lisää Lib ja Lib/FPC yksikköhakupolkuun sekä Lib include-hakupolkuun tai lisää ajopaketti Lazarus-projektin riippuvuudeksi
Aseta Interfaces ennen HotXLS-yksiköitä sovelluksen uses-luettelossa, myös konsolisovelluksissa; tämä alustaa LCL-widgetsetin ja UTF-8-muunnoksen RTL/LCL-rajoilla
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.
HotXLS:n lähdeyksiköt valitsevat sisäisesti Delphi Unicode -semantiikan, joten merkkijonot, merkit ja kaavateksti säilyttävät UTF-16-käyttäytymisen; sovelluskoodi saa käyttää haluamaansa Pascal-tilaa
Yhteensopivuustiedot
- Ajopaketti vaatii Windowsin ja LCL:n;
TDataToXLSvie LCL-datasetit jaTGridToXLSvieTDBGrid-ruudukon eksplisiittisillä sarakkeilla tai ilman niitä, kun taas Linux, macOS, VCL-demolomakkeet, VCL-työkirjan katseluohjelma ja DevExpress-ruudukkoadapteri ovat tämän paketin ulkopuolella - ZIP- ja pakkausstreamit käyttävät mukana toimitettua Pascal-backendia eivätkä vaadi erillistä zlib-DLL:ää
- AES käyttää Pascal-backendia molemmilla arkkitehtuureilla, mukaan lukien salasanasuojatut XLSX-tiedostot
- PNG säilyttää alfakanavan, EMF käyttää Windows metafile -tallennusta ja -toistoa, ja monisivuinen TIFF käyttää Windowsin GDI+-ajonaikaa
- Suora tekstin luku hyväksyy UTF-8:n ja BOM-merkityn UTF-16/UTF-32:n, käsittelee striimatun syötteen ja jättää streamin omistuksen kutsujalle
- Alusta
TXlsCsvImportOptionsarvollaTXlsCsvImportOptions.Defaultennen yksittäisten kenttien muuttamista - FPC:n raporttilausekkeet ja tuontikuviot käyttävät Unicode
URegExpr-syntaksia Delphin PCRE-backendin sijaan. Tyhjä syöte vastataan samoin kuinTRegExvastaa: kuvio, joka hyväksyy tyhjän merkkijonon, kuten^$tai.*, täsmää siihen, kun taas[0-9]+ei täsmää, ja tyhjän merkkijonon korvaaminen tuottaa korvaustekstin vain, kun kuvio hyväksyy sen; tukemattomat ja tyhjät kuviot heittävätERegularExpressionError-poikkeuksen, jonka raporttilausekkeet paljastavat muodossaREPORT_EXPRESSION_INVALID_REGEX