Free Pascal és Lazarus támogatás
A HotXLS támogatja a Free Pascal 3.2.2-t Lazarus/LCL-lel Windows Win32 és Win64 alatt, beleértve az XLS/XLSX munkafüzet API-kat, képleteket, formázást, közvetlen streamelést, a TDataToXLS és TGridToXLS exportáló komponenseket és a megjelenítési segédeket
Build és teszt
Nyissa meg a Lib/FPC/HotXLSLaz.lpk csomagot a Lazarusban, és fordítsa le a runtime csomagot, vagy futtassa ezeket a parancsokat a HotXLS könyvtárából
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
A LAZARUS_DIR beállításával választhat telepítést; a FPC_EXE és a LAZBUILD_EXE szükség esetén explicit fordítót és csomagépítőt jelölhet ki
A kiválasztott telepítésnek tartalmaznia kell az FPC-t és a célarchitektúrához lefordított LCL/LazUtils egységeket; a kimenetek és a csomagépítő beállításai külön architektúra-könyvtárakban tárolódnak
Alkalmazás beállítása
Adja hozzá a Lib és Lib/FPC útvonalakat az egységkeresési útvonalhoz, és a Lib-et az include keresési útvonalhoz, vagy vegye fel a runtime csomagot Lazarus projekt-függőségként
Az alkalmazás uses listájában tegye az Interfaces egységet a HotXLS egységek elé, a konzolalkalmazásokat is beleértve; ez inicializálja az LCL widgetset-et és az UTF-8 konverziót az RTL/LCL határokon
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.
A HotXLS forrásegységei belül Delphi Unicode szemantikát választanak, így a karakterláncok, karakterek és képletszövegek megőrzik az UTF-16 viselkedést; az alkalmazás kódja használhatja az általa preferált Pascal módot
Kompatibilitási részletek
- A runtime csomag Windowst és LCL-t igényel; a
TDataToXLSLCL adatkészleteket, aTGridToXLSpedigTDBGrid-et exportál, explicit oszlopokkal vagy anélkül, míg a Linux, a macOS, a VCL demóűrlapok, a VCL munkafüzet-nézegető és a DevExpress rácsadapter nem része ennek a csomagnak - A ZIP- és tömörítési streamek a csomagolt Pascal backendet használják, és nem igényelnek külön zlib DLL-t
- Az AES mindkét architektúrán Pascal backendet használ, a jelszóval védett XLSX fájlokat is beleértve
- A PNG megőrzi az alfacsatornát, az EMF a Windows metafájl-felvételt és -visszajátszást használja, a többlapos TIFF pedig a Windows GDI+ futtatókörnyezetét
- A közvetlen szövegolvasás elfogad UTF-8-at és BOM-mal jelölt UTF-16/UTF-32-t, streamelt bemenetet kezel, és megőrzi a hívó streamtulajdonjogát
- Inicializálja a
TXlsCsvImportOptionsstruktúrát aTXlsCsvImportOptions.Defaultértékkel, mielőtt az egyes mezőket módosítaná - Az FPC riportkifejezések és importminták a Delphi PCRE backendje helyett Unicode
URegExprszintaxist használnak. Az üres bemenetre ugyanaz a válasz jár, amit aTRegExad: egy üres karakterláncot elfogadó minta, mint az^$vagy a.*, egyezik vele, míg a[0-9]+nem; üres karakterlánc cseréje akkor ad helyettesítő szöveget, ha a minta elfogadja; a nem támogatott és az üres mintákERegularExpressionErrorkivételt váltanak ki, amelyet a riportkifejezésekREPORT_EXPRESSION_INVALID_REGEXnéven jelentenek