Støtte for Free Pascal og Lazarus
HotXLS støtter Free Pascal 3.2.2 med Lazarus/LCL på Windows Win32 og Win64, inkludert arbeidsbok-API-er for XLS/XLSX, formler, formatering, direkte strømming, eksportkomponentene TDataToXLS og TGridToXLS og gjengivelseshjelpere
Bygge og teste
Åpne Lib/FPC/HotXLSLaz.lpk i Lazarus og kompiler kjøretidspakken, eller kjør disse kommandoene fra HotXLS-katalogen
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Sett LAZARUS_DIR for å velge en installasjon; FPC_EXE og LAZBUILD_EXE kan velge eksplisitte programfiler for kompilatoren og pakkebyggeren ved behov
Den valgte installasjonen må inneholde FPC og kompilerte LCL/LazUtils-enheter for målarkitekturen; utdata og pakkebygger-konfigurasjon holdes i separate arkitekturkataloger
Applikasjonsoppsett
Legg Lib og Lib/FPC til i enhetssøkestien og Lib til i include-søkestien, eller legg til kjøretidspakken som en avhengighet i Lazarus-prosjektet
Plasser Interfaces før HotXLS-enhetene i applikasjonens uses-liste, også i konsollapplikasjoner; dette initialiserer LCL-widgetsettet og UTF-8-konverteringen ved RTL/LCL-grensene
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-kildeenheter velger Delphi Unicode-semantikk internt, slik at strenger, tegn og formeltekst beholder UTF-16-oppførselen sin; applikasjonskode kan bruke sin foretrukne Pascal-modus
Kompatibilitetsdetaljer
- Kjøretidspakken krever Windows og LCL;
TDataToXLSeksporterer LCL-datasett ogTGridToXLSeksporterer enTDBGrid, med eller uten eksplisitte kolonner, mens Linux, macOS, VCL-demokjemaer, VCL-arbeidsbokvisningen og DevExpress-rutenettadapteren ligger utenfor denne pakken - ZIP- og komprimeringsstrømmer bruker det vedlagte Pascal-backendet og krever ikke noe separat zlib-DLL
- AES bruker et Pascal-backend for begge arkitekturene, inkludert passordbeskyttede XLSX-filer
- PNG beholder alfa, EMF bruker Windows-metafilopptak og -avspilling, og flersidig TIFF bruker Windows GDI+-kjøretiden
- Direkte tekstlesing godtar UTF-8 og BOM-merket UTF-16/UTF-32, håndterer strømmet inndata og lar strømmen forbli kallerens eiendom
- Initialiser
TXlsCsvImportOptionsmedTXlsCsvImportOptions.Defaultfør du endrer enkeltfelt - FPC-rapportuttrykk og importmønstre bruker Unicode-
URegExpr-syntaks i stedet for Delphis PCRE-backend. Tom inndata besvares slikTRegExbesvarer den: et mønster som aksepterer en tom streng, som^$eller.*, treffer den, mens[0-9]+ikke gjør det, og å erstatte en tom streng gir bare erstatningsteksten når mønsteret aksepterer den; ustøttede mønstre og tomme mønstre utløserERegularExpressionError, som rapportuttrykk eksponerer somREPORT_EXPRESSION_INVALID_REGEX