Τεκμηρίωση HotXLS

Επισκόπηση

HotXLS Logo
Η βιβλιοθήκη HotXLS Excel Read/Write Library είναι ένα στοιχείο ανάγνωσης-εγγραφής Excel υψηλής απόδοσης για Delphi & C++Builder Μπορεί να δημιουργήσει νέα υπολογιστικά φύλλα Excel και να διαβάσει ή να τροποποιήσει υπάρχοντα βιβλία εργασίας XLS και XLSX χωρίς να απαιτείται η εγκατάσταση του Microsoft Excel ή Office στον υπολογιστή
Το HotXLS είναι γραμμένο εξ ολοκλήρου σε Object Pascal. Διαβάζει και γράφει αρχεία Excel απευθείας σε επίπεδο δυαδικών και OOXML, ώστε να μην υπάρχει επιβάρυνση αυτοματοποίησης COM/OLE ούτε εξάρτηση από την άδεια ή την παρουσία του Office. Το HotXLS υποστηρίζει Delphi και C++Builder XE5 έως 13 Florence
Η μορφοποίηση χρωμάτων του κλασικού XLS παραμένει σκόπιμα βασισμένη στην παλέτα. Δείτε Μοντέλο χρωμάτων κλασικού XLS για την απόφαση ThemeColor / TintAndShade

Αρχιτεκτονική διπλού προσώπου

Το HotXLS εκθέτει δύο μονάδες προσώπου που συνυπάρχουν, ώστε ο παλαιός κώδικας XLS και ο νέος κώδικας XLSX να μπορούν να ζήσουν δίπλα-δίπλα χωρίς καμία αναδιαμόρφωση:
lxHandle Κύριο πρόσωπο για τη μορφή BIFF8 του Excel 97–2003 (.xls), καθώς και για εξαγωγή HTML, RTF, CSV και TSV. Όλος ο υπάρχων κώδικας χρηστών συνεχίζει να χρησιμοποιεί αυτήν τη μονάδα χωρίς αλλαγές. Σημεία εισόδου: TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
lxHandleX Κύριο πρόσωπο για τη μορφή OOXML του Excel 2007+ (.xlsx) και για ανάγνωση/εγγραφή OpenDocument Spreadsheet (.ods). Παρέχει τους δικούς του τύπους βιβλίου εργασίας και φύλλου εργασίας, ώστε η συμπεριφορά που αφορά ειδικά το XLSX να μην προσαρμόζεται αναδρομικά στη διαδρομή κώδικα BIFF. Σημεία εισόδου: TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
Και τα δύο πρόσωπα μοιράζονται τον ίδιο μηχανισμό τύπων, το ίδιο επίπεδο υποστήριξης Unicode και την ίδια διοχέτευση εξαγωγής. Δείτε Επισκόπηση XLSX Facade για την πλήρη ιεραρχία κλάσεων που εκθέτει το lxHandleX

Γρήγορη εκκίνηση

Τα παρακάτω αποσπάσματα δείχνουν τον ελάχιστο κώδικα για τη δημιουργία ενός βιβλίου εργασίας με ένα φύλλο εργασίας και την εγγραφή μιας τιμής σε ένα κελί.

Κλασικό XLS (lxHandle)

uses lxHandle;

var
  Book: IXLSWorkbook;
  ws:   TXLSWorksheet;
begin
  Book := TXLSWorkbook.Create;
  // Add a worksheet and give it a name
  ws := Book.Sheets.Add;
  ws.Name := 'Sheet1';

  // Write values to cells using A1 notation
  ws.Range['A1'].Value := 'Hello';
  ws.Range['B1'].Value := 42;
  ws.Range['C1'].Formula := '=B1*2';

  // Apply basic formatting
  ws.Range['A1'].Font.Bold := True;
  ws.Range['A1'].Interior.Color := clYellow;

  Book.SaveAs('output.xls');
end;

XLSX (lxHandleX)

uses lxHandleX;

var
  Book: TXLSXWorkbook;
  ws:   TXLSXWorksheet;
  cell: TXLSXCell;
begin
  Book := TXLSXWorkbook.Create;
  try
    ws := Book.Sheets.Add('Sheet1');

    // Write a string and a numeric value
    ws.Cells[1, 1].Value := 'Product';
    ws.Cells[1, 2].Value := 'Price';
    ws.Cells[2, 1].Value := 'Widget';
    ws.Cells[2, 2].Value := 9.99;

    // Apply a currency number format
    cell := ws.Cells[2, 2];
    cell.NumberFormat := '$#,##0.00';

    Book.SaveAs('output.xlsx');
  finally
    Book.Free;
  end;
end;
Για μια ευρύτερη περιήγηση που καλύπτει και τα δύο πρόσωπα σε ένα μόνο έργο επίδειξης, δείτε την Επίδειξη API Tour

Λειτουργίες

Υποστήριξη εισόδου/εξόδου αρχείων και ροών

Διαβάστε υπάρχοντα αρχεία Excel, γράψτε νέα ή υπάρχοντα αρχεία Excel, διαχειριστείτε την προστασία με κωδικό του κλασικού XLS και τις ροές εργασίας κρυπτογραφημένης αποθήκευσης XLSX και απαριθμήστε γρήγορα τα ονόματα φύλλων από αρχεία ή ροές XLS και XLSX χωρίς να φορτώσετε ολόκληρο το βιβλίο εργασίας. Το άνοιγμα ενός CSV ως βιβλίου εργασίας υποστηρίζεται μέσω του IXLSWorkbook.OpenCSV

Τιμές κελιών και τύποι

Διαβάστε και γράψτε τιμές κελιών όλων των εγγενών τύπων του Excel: αριθμός, συμβολοσειρά, ημερομηνία/ώρα, λογική τιμή και τύπος. Ο ενσωματωμένος μηχανισμός υπολογισμού αξιολογεί τύπους τόσο σε κλασικά βιβλία εργασίας XLS όσο και σε XLSX, υποστηρίζοντας:
  • Συναρτήσεις κειμένου (LEFT, MID, TRIM, SUBSTITUTE, …)
  • Συναρτήσεις ημερομηνίας και εργάσιμων ημερών (DATE, NETWORKDAYS, WORKDAY, …)
  • Συναρτήσεις μηχανικής και μετατροπής βάσης (BIN2DEC, HEX2DEC, …)
  • Συναρτήσεις bitwise (BITAND, BITOR, BITXOR, …)
  • Στατιστικές και αθροιστικές συναρτήσεις (AVERAGE, SUMIF, COUNTIFS, …)
  • Μαθηματικές συναρτήσεις (ROUND, MOD, POWER, …)
Μια επανάκληση OnUserFunction σάς επιτρέπει να διαχειριστείτε προσαρμοσμένες ή μη υποστηριζόμενες συναρτήσεις φύλλου εργασίας κατά την εκτέλεση. Δείτε Επανάκληση OnUserFunction για την υπογραφή και παραδείγματα
Formula evaluation example

Μορφοποίηση κελιών

Πλήρης πρόσβαση στα χαρακτηριστικά εμφάνισης των κελιών:
  • Γραμματοσειρές — όνομα, μέγεθος, χρώμα (RGB ή χρώμα θέματος + φωτοσκίαση), έντονα, πλάγια, υπογράμμιση, διαγραφή, εκθέτης, δείκτης, σκιά και περίγραμμα
  • Στοίχιση — οριζόντια και κατακόρυφη στοίχιση, προσανατολισμός κειμένου (γωνία), επίπεδο εσοχής, αναδίπλωση κειμένου, συμπίεση για προσαρμογή και σειρά ανάγνωσης (RTL/LTR)
  • Περιγράμματα — και οι τέσσερις πλευρές και οι διαγώνιες, στυλ γραμμής, πάχος και χρώμα RGB / θέματος
  • Εσωτερικό (γέμισμα) — συμπαγές γέμισμα, γεμίσματα με μοτίβο, χρώματα πρώτου πλάνου και φόντου, συμπεριλαμβανομένου του χρώματος θέματος με TintAndShade
  • Μορφές αριθμών — ενσωματωμένες και προσαρμοσμένες συμβολοσειρές μορφής για ημερομηνία, ώρα, νόμισμα, ποσοστό και επιστημονική σημειογραφία
  • Σχόλια / σημειώσεις — προσθήκη, ανάγνωση και διαμόρφωση σχολίων κελιών

Λειτουργίες περιοχών

Το IXLSRange (κλασικό πρόσωπο) και το TXLSXRange (πρόσωπο XLSX) παρέχουν ένα πλούσιο σύνολο λειτουργιών περιοχών:
  • Συγχώνευση και αποσυγχώνευση κελιών· πρόσβαση στη συγχωνευμένη περιοχή οποιουδήποτε κελιού
  • Αντιγραφή, μετακίνηση, εισαγωγή και διαγραφή περιοχών, με έλεγχο της κατεύθυνσης μετατόπισης
  • Ομαδοποίηση και αποομαδοποίηση γραμμών ή στηλών για προβολές περιγράμματος/σύμπτυξης
  • Αυτόματη προσαρμογή ύψους γραμμών και πλάτους στηλών στο περιεχόμενο των κελιών
  • Εφαρμογή ενσωματωμένων ονομαστικών στυλ κελιών (ApplyBuiltinStyle)
  • Επιλογές πολλαπλών περιοχών (TXLSWorksheet.SelectAreas)
  • Επανάκληση επανάληψης ForEachCell για μαζική επεξεργασία κελιών

Λειτουργίες φύλλων εργασίας

Ο έλεγχος σε επίπεδο φύλλου εργασίας καλύπτει:
  • Όνομα φύλλου, χρώμα καρτέλας, ορατότητα (κρυφό / πολύ κρυφό) και πλοήγηση με βάση το ευρετήριο
  • Προστασία φύλλου με λεπτομερή έλεγχο ανά δικαίωμα· προστασία σε επίπεδο βιβλίου εργασίας
  • Καρφίτσωμα παραθύρων, διαχωρισμός παραθύρων και θέση κύλισης
  • Περιοχές αυτόματου φίλτρου με κριτήρια· απαρίθμηση κανόνων επικύρωσης δεδομένων
  • Υπό όρους μορφοποίηση: κλίμακες χρωμάτων (2 και 3 χρωμάτων), γραμμές δεδομένων και σύνολα εικονιδίων
  • Αναζήτηση κειμένου και αντικατάσταση κειμένου σε ολόκληρο το φύλλο εργασίας
  • Επιλογές προβολής: χρώμα γραμμών πλέγματος, λειτουργία εμφάνισης τύπων, εμφάνιση μηδενικών, εμφάνιση επικεφαλίδων, εμφάνιση από δεξιά προς τα αριστερά, εμφάνιση συμβόλων περιγράμματος και επίπεδο μεγέθυνσης
  • Δομημένοι πίνακες (TXLSTable / TXLSXTable): προσθήκη, πρόσβαση και διαμόρφωση πινάκων Excel με σειρές επικεφαλίδων και εναλλασσόμενες σειρές
  • Γραφήματα: προσθήκη φύλλων γραφημάτων και ενσωματωμένων γραφημάτων μέσω των TXLSWorksheetsAddChartSheet και TXLSXChart

Υπερσύνδεσμοι και ονομασμένες περιοχές

Προσθέστε και διαβάστε υπερσυνδέσμους (URL, mailto και αναφορές κελιών εντός του βιβλίου εργασίας) μέσω του IXLSHyperLinks. Καθορίστε και επιλύστε ονομασμένες περιοχές σε εμβέλεια βιβλίου εργασίας και φύλλου εργασίας μέσω των IXLSNames / TXLSXDefinedNames. Οι ονομασμένες περιοχές μπορούν να χρησιμοποιηθούν σε τύπους και να επιλυθούν ξανά σε περιοχή κελιών μέσω του RefersToRange

Εικόνες και σχήματα

Ενσωματώστε εικόνες ράστερ (BMP, JPG, PNG, GIF) σε φύλλα εργασίας μέσω των TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Δημιουργήστε αυτόνομα πλαίσια κειμένου στο κλασικό XLS μέσω του TXLSShapes.AddTextBox. Διατηρήστε τους κανόνες σύνδεσης OfficeArt και επίλυσης που δημιούργησε το Excel στα σχέδια BIFF8 και εκθέστε τις ακατέργαστες επιλογές FOPT των σχημάτων μέσω του TXLSShape.OfficeArtOptions για προχωρημένες ροές εργασίας σχεδίασης

Ρύθμιση σελίδας και εκτύπωση

Πλήρης πρόσβαση στη διάταξη εκτύπωσης μέσω του IXLSPageSetup:
  • Μέγεθος χαρτιού (A4, Letter, Legal και πολλά άλλα· δείτε PaperSize)
  • Προσανατολισμός (κατακόρυφος / οριζόντιος), περιθώρια, οριζόντια / κατακόρυφη στοίχιση στο κέντρο
  • Συμβολοσειρές κεφαλίδας και υποσέλιδου με κωδικούς μορφοποίησης του Excel (έντονα, πλάγια, αριθμός σελίδας, ημερομηνία κ.λπ.· δείτε Κωδικοί μορφοποίησης κεφαλίδας/υποσέλιδου)
  • Χειροκίνητες οριζόντιες και κατακόρυφες αλλαγές σελίδας
  • Κλιμάκωση προσαρμογής σε σελίδες· ποσοστό μεγέθυνσης· περιοχή εκτύπωσης· τίτλοι εκτύπωσης (επανάληψη γραμμών / στηλών)
  • Ποιότητα προσχεδίου· ασπρόμαυρο· εκτύπωση γραμμών πλέγματος· εκτύπωση επικεφαλίδων· εκτύπωση σημειώσεων

Μορφές εξαγωγής

Εξάγετε ολόκληρα βιβλία εργασίας, μεμονωμένα φύλλα εργασίας ή αυθαίρετες περιοχές κελιών σε:
  • HTML — πλήρες έγγραφο ή ενσωματωμένο τμήμα πίνακα για ροές εργασίας προεπισκόπησης ή ηλεκτρονικού ταχυδρομείου· ελεγχόμενο μέσω των TXLSHTMLExport και TXLSXHtmlExportOptions
  • RTF — εμπλουτισμένο κείμενο για εισαγωγή σε επεξεργαστές κειμένου
  • CSV — τιμές διαχωρισμένες με κόμμα, με παραμετροποιήσιμο διαχωριστή και κωδικοποίηση
  • TSV — τιμές διαχωρισμένες με στηλοθέτες
  • ODS — OpenDocument Spreadsheet μέσω του προσώπου lxHandleX

Εξαγωγή βάσης δεδομένων και πλέγματος

Εξάγετε οποιοδήποτε σύνολο δεδομένων συμβατό με TDataSet ή ένα TDBGrid απευθείας σε Excel, HTML ή RTF χρησιμοποιώντας τα TDataToXLS ή TGridToXLS στοιχεία. Και τα δύο στοιχεία ενεργοποιούν τα συμβάντα AfterCell, AfterRow, AfterTitle και AfterGroup για λεπτομερή έλεγχο της εξόδου και υποστηρίζουν πεδία ομαδοποίησης πολλαπλών επιπέδων

Διατήρηση έργου VBA

Το HotXLS διατηρεί τα φορτία έργων VBA κατά την επαναφορά βιβλίων εργασίας με μακροεντολές. Η επιθεώρηση μονάδων μόνο για ανάγνωση διατίθεται μέσω των TXLSVBAProject και TXLSVBAModule. Καλέστε το IXLSWorkbook.HasVBAProject για να ανιχνεύσετε ένα φορτίο και τα LoadVBAProjectFromFile / SaveVBAProjectToFile για να το μεταφέρετε μεταξύ αρχείων

Unicode και διεθνές κείμενο

Όλος ο χειρισμός συμβολοσειρών είναι εγγενώς Unicode. Το HotXLS διαβάζει και γράφει αρχεία Excel που έχουν δημιουργηθεί σε οποιαδήποτε γλώσσα, συμπεριλαμβανομένων των CJK, αραβικών, εβραϊκών, ταϊλανδικών και άλλων συστημάτων γραφής, με σωστή υποστήριξη αμφίδρομου κειμένου και σειράς ανάγνωσης
Unicode character support example

Συγκεντρωτικοί πίνακες (κλασικό XLS)

Δημιουργήστε συγκεντρωτικούς πίνακες από μια περιοχή προέλευσης με το TXLSWorksheet.AddPivotTable, διαμορφώστε την τοποθέτηση πεδίων και τις μορφές αριθμών των πεδίων δεδομένων και επιθεωρήστε το μοντέλο συγκεντρωτικού πίνακα μέσω του TXLSWorksheet.PivotTables. Δείτε API συγκεντρωτικών πινάκων κλασικού XLS για λεπτομέρειες πεδίων και φίλτρων

Πλεονεκτήματα

Χωρίς εξάρτηση από το Office Διαβάζει και γράφει αρχεία XLS και XLSX απευθείας σε δυαδικό επίπεδο. Το Microsoft Excel ή Office δεν χρειάζεται να είναι εγκατεστημένο, αδειοδοτημένο ή σε λειτουργία. Αυτό εξαλείφει την επιβάρυνση αυτοματοποίησης COM/OLE, αποφεύγει τους περιορισμούς νημάτων που επιβάλλει η διαλειτουργικότητα με το Office και επιτρέπει τη χρήση του HotXLS σε περιβάλλοντα διακομιστή και υπηρεσιών όπου η εγκατάσταση του Office σε επιτραπέζιο υπολογιστή είναι μη πρακτική
Υψηλή απόδοση Οι αναλυτές BIFF8 και OOXML είναι γραμμένοι σε εγγενές Object Pascal χωρίς ενδιάμεση εκχώρηση XML DOM στην κρίσιμη διαδρομή. Μεγάλα βιβλία εργασίας με εκατοντάδες χιλιάδες γραμμές μπορούν να διαβαστούν και να γραφτούν με χαμηλή μέγιστη χρήση μνήμης. Η απαλοιφή διπλοτύπων κοινών συμβολοσειρών και η συμπίεση κοινών τύπων εφαρμόζονται αυτόματα για να διατηρούνται μικρά τα μεγέθη των αρχείων
Διαδρομή μετεγκατάστασης από OLE Η επιφάνεια API του κλασικού προσώπου (βιβλίο εργασίας, φύλλο εργασίας, περιοχή, γραμματοσειρά, περιγράμματα, εσωτερικό, ρύθμιση σελίδας) αντικατοπτρίζει στενά το μοντέλο αντικειμένων του Excel που είναι οικείο από την αυτοματοποίηση OLE. Αυτό καθιστά τη μετεγκατάσταση υπαρχόντων έργων που βασίζονται σε OLE άμεση: αντικαταστήστε τις κλήσεις COM με κλήσεις HotXLS, αφαιρέστε την εξάρτηση από το Office και αποκτήστε εγγενή απόδοση
Σχεδιασμός διπλού προσώπου Ο παλαιός κώδικας XLS συνεχίζει να μεταγλωττίζεται και να εκτελείται χωρίς αλλαγές με το lxHandle, ενώ ο νέος κώδικας XLSX χρησιμοποιεί το πλουσιότερο πρόσωπο lxHandleX. Η μετεγκατάσταση μίας μορφής αρχείου κάθε φορά είναι ασφαλής και σταδιακή
Μηχανισμός τύπων περιλαμβάνεται Ένας ενσωματωμένος μηχανισμός υπολογισμού πολλαπλών περασμάτων διαχειρίζεται τις πιο συνηθισμένες συναρτήσεις φύλλου εργασίας χωρίς να απαιτεί από το Excel να επανυπολογίζει κατά το άνοιγμα. Οι προσαρμοσμένες συναρτήσεις διαχειρίζονται μέσω της επανάκλησης OnUserFunction
Εύκολη χρήση Τα άμεσα ενσωματώσιμα στοιχεία Delphi (TDataToXLS, TGridToXLS) δεν απαιτούν κώδικα για συνηθισμένες εργασίες εξαγωγής. Το ευέλικτο API περιοχών υποστηρίζει συμβολισμό A1, συμβολισμό R1C1 και ευρετηρίαση γραμμών/στηλών με βάση το μηδέν
Είσοδος/έξοδος αρχείων ασφαλής για νήματα Επειδή δεν υπάρχει κοινή διεργασία Office, πολλά στιγμιότυπα TXLSXWorkbook μπορούν να δημιουργηθούν και να αποθηκευτούν ταυτόχρονα σε ανεξάρτητα νήματα χωρίς συγχρονισμό, καθιστώντας το HotXLS κατάλληλο για διακομιστές δημιουργίας αναφορών πολλαπλών νημάτων

Συμβατότητα

Το HotXLS είναι συμβατό με τις ακόλουθες εκδόσεις του RAD Studio:
Delphi XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, 12 Athens, 13 Florence
C++Builder XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, 12 Athens, 13 Florence
Πλατφόρμες-στόχοι Windows 32 και 64 bit
Μορφές αρχείων Excel XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2)
Μορφές μόνο εξαγωγής HTML, RTF, CSV, TSV

Δείτε επίσης