Overzicht
![]() |
HotXLS Excel Read/Write Library is een snelle Excel-lees- en schrijfcomponent voor Delphi & C++Builder
Hiermee kunt u nieuwe Excel-spreadsheets maken en bestaande XLS- en XLSX-werkmappen lezen of wijzigen, zonder dat
Microsoft Excel of Office op de machine geïnstalleerd hoeft te zijn
HotXLS is volledig in Object Pascal geschreven. Het leest en schrijft Excel-bestanden rechtstreeks
op binair en OOXML-niveau, zodat er geen COM/OLE-automatiserings-overhead is en geen afhankelijkheid van Office
dat is gelicentieerd of aanwezig is. HotXLS ondersteunt Delphi en C++Builder XE5 tot en met 13 Florence
Klassieke XLS-kleuropmaak blijft bewust op paletten gebaseerd. Zie Klassiek XLS-kleurenmodel
voor de ThemeColor / TintAndShade-afweging
|
Dual-facade-architectuur
HotXLS biedt twee naast elkaar bestaande facade-units, zodat legacy XLS-code en nieuwe XLSX-code naast elkaar kunnen leven
zonder enige refactoring:
lxHandle |
Primaire facade voor het Excel 97–2003 BIFF8-formaat (.xls), plus HTML-, RTF-, CSV- en TSV-export.
Alle bestaande gebruikerscode blijft deze unit ongewijzigd gebruiken. Entry points:
TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
|
lxHandleX |
Primaire facade voor het Excel 2007+ OOXML-formaat (.xlsx) en OpenDocument Spreadsheet
(.ods) lezen/schrijven. Biedt eigen werkmap- en werkbladtypen, zodat XLSX-specifiek gedrag
niet wordt teruggevoegd naar het BIFF-codepad. Entry points:
TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
|
Beide facades delen dezelfde formule-engine, dezelfde Unicode-ondersteuningslaag en dezelfde exportpipeline
Zie XLSX Facade Overview voor de volledige klassenhiërarchie die
lxHandleX blootlegt.
Quick Start
De volgende fragmenten tonen de minimale code om een werkmap met één werkblad te maken en een
waarde naar een cel te schrijven.
Classic 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;
Voor een uitgebreidere walkthrough die beide facades in één demo-project behandelt, zie de
API Tour Demo
Features
Bestand-I/O en stream-ondersteuning
Lees bestaande Excel-bestanden, schrijf nieuwe of bestaande Excel-bestanden, behandel klassieke XLS-wachtwoordbescherming en
XLSX-versleutelde-save-workflows, en vermeld snel bladnamen uit XLS- en XLSX-bestanden of streams zonder
de hele werkmap te laden. Het openen van een CSV als werkmap wordt ondersteund via
IXLSWorkbook.OpenCSV.
Celwaarden en formules
Lees en schrijf celwaarden van alle native Excel-typen: getal, tekenreeks, datum/tijd, boolean en formule
De ingebouwde berekeningsengine evalueert formules in zowel klassieke XLS- als XLSX-werkmappen en ondersteunt:
- Tekstfuncties (
LEFT,MID,TRIM,SUBSTITUTE, …) - Datum- en werkdagfuncties (
DATE,NETWORKDAYS,WORKDAY, …) - Technische functies en basisconversie (
BIN2DEC,HEX2DEC, …) - Bitsgewijze functies (
BITAND,BITOR,BITXOR, …) - Statistische- en aggregaatfuncties (
AVERAGE,SUMIF,COUNTIFS, …) - Wiskundige functies (
ROUND,MOD,POWER, …)
Een
OnUserFunction-callback laat u aangepaste of niet-ondersteunde werkbladfuncties tijdens runtime behandelen.
Zie OnUserFunction-callback voor de handtekening en voorbeelden

Celopmaak
Volledige toegang tot de opmaakkenmerken van cellen:
- Lettertypen — naam, formaat, kleur (RGB of themakleur + tint), vet, cursief, onderstrepen, doorhalen, superscript, subscript, schaduw en omlijning
- Uitlijning — horizontale en verticale uitlijning, tekstoriëntatie (hoek), inspringniveau, tekstterugloop, verkleinen tot celgrootte en leesrichting (RTL/LTR)
- Randen — alle vier randen en diagonalen, lijnstijl, gewicht en RGB-/themakleur
- Vulling — effen vulling, patroonvullingen, voor- en achtergrondkleuren, inclusief themakleur met TintAndShade
- Getalnotaties — ingebouwde en aangepaste notatiereeksen voor datum, tijd, valuta, percentage en wetenschappelijke notatie
- Opmerkingen / annotaties — celopmerkingen toevoegen, lezen en opmaken
Bereikoperaties
IXLSRange (klassieke facade) en TXLSXRange (XLSX-facade) bieden een rijke set
bereikoperaties:
- Cellengebieden samenvoegen en splitsen; toegang tot het samengevoegde gebied van elke cel
- Bereiken kopiëren, verplaatsen, invoegen en verwijderen, met controle over de verschuivingsrichting
- Rijen of kolommen groeperen en opheffen voor overzichts-/in-één-klap-weergaven
- Rijhoogte en kolombreedte automatisch aanpassen aan de celinhoud
- Ingebouwde benoemde celstijlen toepassen (
ApplyBuiltinStyle) - Selecties met meerdere gebieden (
TXLSWorksheet.SelectAreas) - ForEachCell-iteratie-callback voor batchverwerking van cellen
Werkbladfuncties
Controle op werkbladniveau omvat:
- Bladnaam, tabkleur, zichtbaarheid (verborgen / zeer verborgen) en op index gebaseerde navigatie
- Bladbeveiliging met granulariteit per machtiging; beveiliging op werkmapniveau
- Bevroren vensters, gesplitste vensters en schuifpositie
- AutoFilter-bereiken met criteria; validatieregels voor gegevens vermelden
- Voorwaardelijke opmaak: kleurschalen (2 en 3 kleuren), gegevensbalken en icoonsets
- Tekst zoeken en tekst vervangen in een werkblad
- Weergaveopties: rasterlijnkleur, formulemodus weergeven, nullen weergeven, kopteksten weergeven, rechts-naar-links weergeven, overzichtssymbolen weergeven en zoomniveau
- Gestructureerde tabellen (
TXLSTable/TXLSXTable): Excel-tabellen toevoegen, openen en opmaken met koprijen en totalenrijen - Grafieken: grafiekbladen en ingebedde grafieken toevoegen via
TXLSWorksheetsAddChartSheetenTXLSXChart
Hyperlinks en benoemde bereiken
Voeg hyperlinks toe en lees ze (URL, mailto en verwijzingen naar cellen in de werkmap) via
IXLSHyperLinks. Definieer en los benoemde bereiken op op werkmap- en werkbladniveau via
IXLSNames / TXLSXDefinedNames. Benoemde bereiken kunnen in formules worden gebruikt en
terug worden omgezet naar een celbereik via RefersToRange.
Afbeeldingen en vormen
Voeg rasterafbeeldingen (BMP, JPG, PNG, GIF) in werkbladen in via
TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Maak zelfstandige tekstvakken
in klassiek XLS via TXLSShapes.AddTextBox. Behoud Excel-gemaakte OfficeArt-verbindings- en
oplosregels in BIFF8-tekeningen en leg ruwe vorm-FOPT-opties bloot via
TXLSShape.OfficeArtOptions voor deskundige tekenworkflows.
Pagina-instelling en afdrukken
Volledige toegang tot de afdrukindeling via
IXLSPageSetup:
- Papierformaat (A4, Letter, Legal en vele andere; zie PaperSize)
- Stand (staand / liggend), marges, horizontaal / verticaal centreren
- Kop- en voettekstreksen met Excel-opmaakcodes (vet, cursief, paginanummer, datum, enz.; zie Kop/voettekst-opmaakcodes)
- Handmatige horizontale en verticale pagina-einden
- Tegenaanpassen-schalen; zoompercentage; afdrukgebied; herhaalde titels (herhalende rijen / kolommen)
- Conceptkwaliteit; zwart-wit; rasterlijnen afdrukken; kopteksten afdrukken; notities afdrukken
Exportformaten
Exporteer volledige werkmappen, afzonderlijke werkbladen of willekeurige celbereiken naar:
- HTML — volledig document of een inline tabelfragment voor preview- of e-mailworkflows;
beheersbaar via
TXLSHTMLExportenTXLSXHtmlExportOptions - RTF — rich text voor import in tekstverwerkers
- CSV — door komma's gescheiden waarden met configureerbaar scheidingsteken en codering
- TSV — door tabs gescheiden waarden
- ODS — OpenDocument Spreadsheet via de
lxHandleX-facade
Database- en rasterexport
Exporteer elke TDataSet-compatibele dataset of een TDBGrid rechtstreeks naar Excel, HTML of RTF met behulp van de
TDataToXLS- of
TGridToXLS-componenten.
Beide componenten starten AfterCell, AfterRow, AfterTitle- en
AfterGroup-gebeurtenissen voor fijnmazige uitvoercontrole en ondersteunen groepering op meerdere niveaus.
VBA-projectbehoud
HotXLS behoudt VBA-projectpayloads bij het heen en weer lezen van macro-ingeschakelde werkmappen. Alleen-lezen inspectie
van modules is beschikbaar via
TXLSVBAProject en TXLSVBAModule.
Roep IXLSWorkbook.HasVBAProject aan om een payload te detecteren en
LoadVBAProjectFromFile / SaveVBAProjectToFile om deze tussen bestanden over te dragen.
Unicode en internationale tekst
Alle tekenreeksverwerking is Unicode-native. HotXLS leest en schrijft Excel-bestanden die in elke taal zijn gemaakt,
inclusief CJK, Arabisch, Hebreeuws, Thais en andere schriften, met correcte bidirectionele tekst- en leesrichting-
ondersteuning

Draaitabellen (klassiek XLS)
Maak draaitabellen uit een bronbereik met
TXLSWorksheet.AddPivotTable, configureer veldplaatsing en getalnotaties voor gegevensvelden en
inspecteer het draaitabelmodel via TXLSWorksheet.PivotTables.
Zie Klassieke XLS-draaitabel-API voor details over velden en filters
Voordelen
| No Office dependency | Leest en schrijft XLS- en XLSX-bestanden rechtstreeks op binair niveau. Microsoft Excel of Office hoeft niet te worden geïnstalleerd, gelicentieerd of uitgevoerd. Dit elimineert COM/OLE-automatiserings-overhead, vermijdt threadbeperkingen die door Office-interop worden opgelegd en stelt HotXLS in staat om te worden gebruikt in server- en servicecontexten waar een desktop-Office-installatie onpraktisch is |
| High performance | De BIFF8- en OOXML-parsers zijn in native Object Pascal geschreven zonder tussentijdse XML-DOM-toewijzing voor het hot path. Grote werkmappen met honderdduizenden rijen kunnen worden gelezen en geschreven met een lage piek aan geheugen. Deduplicatie van gedeelde tekenreeksen en compressie van gedeelde formules worden automatisch toegepast om bestanden klein te houden |
| OLE migration path | Het klassieke-facade-API-oppervlak (werkmap, werkblad, bereik, lettertype, randen, vulling, pagina-instelling) spiegelt nauw het Excel-objectmodel dat bekend is van OLE-automatisering. Dit maakt het migreren van bestaande op OLE gebaseerde projecten eenvoudig: vervang de COM-aanroepen door HotXLS-aanroepen, verwijder de Office- afhankelijkheid en win native prestaties |
| Dual-facade design |
Legacy XLS-code blijft ongewijzigd compileren en draaien tegen lxHandle, terwijl nieuwe XLSX-
code de rijkere lxHandleX-facade gebruikt. Eén bestandsformaat per keer migreren is veilig en
incrementeel
|
| Formula engine included |
Een ingebouwde meerpassen-berekeningsengine behandelt de meest voorkomende werkbladfuncties zonder dat
Excel opnieuw hoeft te berekenen bij het openen. Aangepaste functies worden behandeld via de OnUserFunction-
callback
|
| Easy to use |
Kant-en-klare Delphi-componenten (TDataToXLS, TGridToXLS) vereisen geen code voor
veelvoorkomende exporttaken. De vloeiende bereik-API ondersteunt A1-notatie, R1C1-notatie en op nul gebaseerde
rij-/kolomindexering
|
| Thread-safe file I/O |
Omdat er geen gedeeld Office-proces is, kunnen meerdere TXLSXWorkbook-instanties gelijktijdig worden
gemaakt en opgeslagen op onafhankelijke threads zonder synchronisatie, waardoor HotXLS
geschikt is voor servers die rapporten genereren op meerdere threads
|
Compatibiliteit
HotXLS is compatibel met de volgende RAD Studio-versies:
| 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 |
| Target platforms | Windows 32-bits en 64-bits |
| Excel file formats | XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2) |
| Export-only formats | HTML, RTF, CSV, TSV |
Zie ook
- XLSX Facade Overview (lxHandleX) — volledige klassenhiërarchie en XLSX-/ODS-specifieke API-leden
- API Tour Demo — eerste demo om te draaien bij het leren van HotXLS vanaf nul
- IXLSWorkbook — klassieke XLS-werkmap-interface-referentie
- TXLSWorksheet — klassieke XLS-werkblad-klasse-referentie
- IXLSRange — bereik-interface: celtoegang, opmaak en bewerkingen
- TXLSXWorkbook — XLSX-werkmap-klasse-referentie
- TXLSXWorksheet — XLSX-werkblad-klasse-referentie
- TGridToXLS — kant-en-klare DBGrid-naar-Excel-exportcomponent
- TDataToXLS — kant-en-klare dataset-naar-Excel-exportcomponent
- OnUserFunction-callback — uitbreidingspunt voor aangepaste werkbladfunctie
- Klassiek XLS-kleurenmodel — ontwerprationale voor paletkleuren en thema- kleuren
- Klassieke XLS-additionele-API-leden — berekenings- eigenschappen, documenteigenschappen, draaitabellen en meer
- Voorbeelden — overzicht van voorbeeldprojecten
- Purchase Order-voorbeeld — volledig XLS-creatievoorbeeld met broncode
