Υποστήριξη Free Pascal και Lazarus
Το HotXLS υποστηρίζει Free Pascal 3.2.2 με Lazarus/LCL σε Windows Win32 και Win64, συμπεριλαμβανομένων των API βιβλίων εργασίας XLS/XLSX, των τύπων, της μορφοποίησης, της άμεσης ροής, των εξαρτημάτων εξαγωγής TDataToXLS και TGridToXLS και των βοηθών απόδοσης
Μεταγλώττιση και δοκιμή
Ανοίξτε το Lib/FPC/HotXLSLaz.lpk στο Lazarus και μεταγλωττίστε το πακέτο runtime, ή εκτελέστε αυτές τις εντολές από τον κατάλογο HotXLS
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Ορίστε το LAZARUS_DIR για να επιλεγεί μια εγκατάσταση· τα FPC_EXE και LAZBUILD_EXE μπορούν να επιλέξουν ρητά εκτελέσιμα μεταγλωττιστή και κατασκευαστή πακέτων όταν χρειάζεται
Η επιλεγμένη εγκατάσταση πρέπει να περιέχει FPC και μεταγλωττισμένες μονάδες LCL/LazUtils για την αρχιτεκτονική στόχο· οι έξοδοι και η διαμόρφωση του κατασκευαστή πακέτων διατηρούνται σε ξεχωριστούς καταλόγους ανά αρχιτεκτονική
Διαμόρφωση εφαρμογής
Προσθέστε τα Lib και Lib/FPC στη διαδρομή αναζήτησης μονάδων και το Lib στη διαδρομή αναζήτησης includes, ή προσθέστε το πακέτο runtime ως εξάρτηση του έργου Lazarus
Βάλτε το Interfaces πριν από τις μονάδες HotXLS στη λίστα uses της εφαρμογής, συμπεριλαμβανομένων των εφαρμογών κονσόλας· αυτό αρχικοποιεί το widgetset LCL και τη μετατροπή UTF-8 στα όρια 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.
Οι μονάδες πηγαίου κώδικα του HotXLS επιλέγουν εσωτερικά τη σημασιολογία Unicode του Delphi ώστε συμβολοσειρές, χαρακτήρες και κείμενο τύπων να διατηρούν τη συμπεριφορά UTF-16· ο κώδικας της εφαρμογής μπορεί να χρησιμοποιήσει την προτιμώμενη λειτουργία Pascal του
Λεπτομέρειες συμβατότητας
- Το πακέτο runtime απαιτεί Windows και LCL· το
TDataToXLSεξάγει σύνολα δεδομένων LCL και τοTGridToXLSεξάγει έναTDBGrid, με ή χωρίς ρητές στήλες, ενώ τα Linux, macOS, οι φόρμες demo VCL, ο προβολέας βιβλίου εργασίας VCL και ο προσαρμογέας grid DevExpress βρίσκονται εκτός αυτού του πακέτου - Οι ροές ZIP και συμπίεσης χρησιμοποιούν το ενσωματωμένο backend Pascal και δεν απαιτούν ξεχωριστό zlib DLL
- Το AES χρησιμοποιεί backend Pascal και για τις δύο αρχιτεκτονικές, συμπεριλαμβανομένων των αρχείων XLSX προστατευμένων με κωδικό
- Το PNG διατηρεί το άλφα, το EMF χρησιμοποιεί εγγραφή και αναπαραγωγή Windows metafile, και το πολυσέλιδο TIFF χρησιμοποιεί το runtime Windows GDI+
- Η άμεση ανάγνωση κειμένου δέχεται UTF-8 και UTF-16/UTF-32 με BOM, χειρίζεται ρευστή είσοδο και διατηρεί την ιδιοκτησία της ροής στον καλούντα
- Αρχικοποιήστε το
TXlsCsvImportOptionsμεTXlsCsvImportOptions.Defaultπριν αλλάξετε μεμονωμένα πεδία - Οι παραστάσεις αναφορών και τα μοτίβα εισαγωγής FPC χρησιμοποιούν τη σύνταξη Unicode
URegExprαντί για το backend PCRE του Delphi. Η κενή είσοδος απαντιέται όπως την απαντά τοTRegEx: ένα μοτίβο που δέχεται κενή συμβολοσειρά, όπως^$ή.*, την ταιριάζει ενώ το[0-9]+όχι, και η αντικατάσταση κενής συμβολοσειράς αποδίδει το κείμενο αντικατάστασης μόνο όταν το μοτίβο τη δέχεται· τα μη υποστηριζόμενα και τα κενά μοτίβα προκαλούνERegularExpressionError, που οι παραστάσεις αναφορών εκθέτουν ωςREPORT_EXPRESSION_INVALID_REGEX