Oversikt
![]() |
HotXLS Excel- lese-/skrivebibliotek er en høytytende Excel-lese-/skrivekomponent for Delphi & C++Builder
Det kan opprette nye Excel-regneark og lese eller endre eksisterende XLS- og XLSX-arbeidsbøker uten at
Microsoft Excel eller Office trenger å være installert på maskinen
HotXLS er skrevet helt i Object Pascal. Det leser og skriver Excel-filer direkte
på binærnivå og OOXML-nivå, så det er ingen COM/OLE-automatiseringskostnad og ingen avhengighet av at Office
er lisensiert eller til stede. HotXLS støtter Delphi og C++Builder XE5 gjennom 13 Florence
Klassisk XLS-fargeformatering forblir med hensikt palettbasert. Se Klassisk XLS-fargemodell
for beslutningen om ThemeColor / TintAndShade
|
To-fasade-arkitektur
HotXLS eksponerer to sameksisterende fasaddeenheter, slik at eldre XLS-kode og ny XLSX-kode kan leve side om side
uten noen refaktorering:
lxHandle |
Primær fasade for Excel 97–2003 BIFF8-formatet (.xls), pluss HTML-, RTF-, CSV- og TSV-
eksport. All eksisterende brukerkode fortsetter å bruke denne enheten uendret. Inngangspunkter:
TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
|
lxHandleX |
Primær fasade for Excel 2007+-OOXML-formatet (.xlsx) og OpenDocument Spreadsheet
(.ods) lese/skrive. Gir egne arbeidsbok- og regnearktyper, slik at XLSX-spesifikk atferd ikke
blir tilbakeført til BIFF-kodebanen. Inngangspunkter:
TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
|
Begge fasadene deler den samme formelmotoren, det samme Unicode-støttelaget og den samme eksportpipelinen
Se XLSX-fasadeoversikt for hele klassehierarkiet som eksponeres av
lxHandleX
Hurtigstart
Følgende utdrag viser den minimale koden for å opprette en arbeidsbok med ett regneark og skrive
en verdi til en celle.
Klassisk 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;
For en bredere gjennomgang som dekker begge fasadene i ett enkelt demo-prosjekt, se
API Tour-demoen
Funksjoner
Fil-I/U og strømstøtte
Les eksisterende Excel-filer, skriv nye eller eksisterende Excel-filer, håndter klassisk XLS-passordbeskyttelse og
XLSX-krypterte-lagre-arbeidsflyter, og list raskt opp arknavn fra XLS- og XLSX-filer eller strømmer uten å
laste hele arbeidsboken. Å åpne en CSV som en arbeidsbok støttes gjennom
IXLSWorkbook.OpenCSV
Celleverdier og formler
Les og skriv celleverdier av alle native Excel-typer: tall, streng, dato/klokkeslett, boolsk og formel
Den innebygde beregningsmotoren evaluerer formler i både klassiske XLS- og XLSX-arbeidsbøker, og støtter:
- Tekstfunksjoner (
LEFT,MID,TRIM,SUBSTITUTE, …) - Dato- og arbeidsdagsfunksjoner (
DATE,NETWORKDAYS,WORKDAY, …) - Teknikk- og basekonverteringsfunksjoner (
BIN2DEC,HEX2DEC, …) - Bitvise funksjoner (
BITAND,BITOR,BITXOR, …) - Statistiske og aggregerende funksjoner (
AVERAGE,SUMIF,COUNTIFS, …) - Matematiske funksjoner (
ROUND,MOD,POWER, …)
En
OnUserFunction-tilbakeringing lar deg håndtere egendefinerte eller ikke-støttede regnearkfunksjoner ved kjøring
Se OnUserFunction-tilbakeringingen for signaturen og eksempler

Celleformatering
Full tilgang til celle-utseendeattributter:
- Skrifter — navn, størrelse, farge (RGB eller temafarge + fargetone), fet, kursiv, understreking, gjennomstreking, hevet skrift, senket skrift, skygge og kontur
- Justering — horisontal og vertikal justering, tekstretning (vinkel), innrykk nivå, tekstombryting, krymp-til-tilpass og leseretning (RTL/LTR)
- Kanter — alle fire kanter og diagonaler, linjestil, vekt og RGB- / temafarge
- Interiør (fyll) — helfylling, mønsterfyllinger, forgrunns- og bakgrunnsfarger inkludert temafarge med TintAndShade
- Tallformater — innebygde og egendefinerte formatstrenger for dato, klokkeslett, valuta, prosent og vitenskapelig notasjon
- Kommentarer / merknader — legg til, les og stil cellkommentarer
Områdeoperasjoner
IXLSRange (klassisk fasade) og TXLSXRange (XLSX-fasade) gir et rikt sett med
områdeoperasjoner:
- Slå sammen og del celler; få tilgang til det sammenslåtte området til en hvilken som helst celle
- Kopier, flytt, sett inn og slett områder, med kontroll over forskyvningsretning
- Grupper og opphev gruppering av rader eller kolonner for disposisjons-/sammenleggingsvisninger
- AutoTilpass radhøyde og kolonnebredde til celleinnhold
- Bruk innebygde navngitte cellestiler (
ApplyBuiltinStyle) - Flere-område-valg (
TXLSWorksheet.SelectAreas) - ForEachCell-iterasjons-tilbakeringing for batch-cellebehandling
Regnearkfunksjoner
Kontroll på regnearknivå dekker:
- Arknavn, fanefarge, synlighet (skjult / veldig skjult) og indeksbasert navigasjon
- Arkbeskyttelse med granularitet per tillatelse; beskyttelse på arbeidsboknivå
- Frys ruter, del ruter og rulleposisjon
- AutoFilter-områder med kriterier; list datavalideringsregler
- Betinget formatering: fargeskalaer (2 og 3 farger), datafelt og ikonsett
- Finn-tekst og erstatt-tekst på tvers av et regneark
- Visningsalternativer: rutenettlinjefarge, vis formel-modus, vis nuller, vis overskrifter, vis høyre-til-venstre, vis disposisjonssymboler og zoomnivå
- Strukturerte tabeller (
TXLSTable/TXLSXTable): legg til, få tilgang til og stil Excel-tabeller med overskriftsrader og båndete rader - Diagrammer: legg til diagramark og innebygde diagrammer via
TXLSWorksheetsAddChartSheetogTXLSXChart
Hyperkoblinger og navngitte områder
Legg til og les hyperkoblinger (URL, mailto og cellereferanser i arbeidsboken) gjennom
IXLSHyperLinks. Definer og løs navngitte områder på arbeidsbok- og regnearkskala gjennom
IXLSNames / TXLSXDefinedNames. Navngitte områder kan brukes i formler og
løses tilbake til et celleområde via RefersToRange
Bilder og former
Bygg inn rasterbilder (BMP, JPG, PNG, GIF) i regneark via
TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Opprett frittstående tekstbokser
i klassisk XLS gjennom TXLSShapes.AddTextBox. Bevar Excel-opprettede OfficeArt-koblinger og
løserregler i BIFF8-tegninger, og eksponer rå form-FOPT-alternativer gjennom
TXLSShape.OfficeArtOptions for ekspert-tegningsarbeidsflyter
Sideoppsett og utskrift
Full tilgang til utskriftslayoutet gjennom
IXLSPageSetup:
- Papirstørrelse (A4, Letter, Legal og mange andre; se Papirstørrelse)
- Retning (stående / liggende), marger, sentrer horisontalt / vertikalt
- Topp- og bunntekststrenger med Excel-formateringskoder (fet, kursiv, sidenummer, dato osv.; se Topp-/bunntekst-formateringskoder)
- Manuelle horisontale og vertikale sideskift
- Skalering til sider; zoomprosent; utskriftsområde; utskriftstitler (gjentatte rader / kolonner)
- Kladdkvalitet; svart-hvitt; skriv ut rutenettlinjer; skriv ut overskrifter; skriv ut merknader
Eksportformater
Eksporter hele arbeidsbøker, individuelle regneark eller vilkårlige celleområder til:
- HTML — fullstendig dokument eller et inline-tabellfragment for forhåndsvisning eller e-post-arbeidsflyter;
kontrollerbart via
TXLSHTMLExportogTXLSXHtmlExportOptions - RTF — rik tekst for import i tekstbehandlere
- CSV — kommaseparerte verdier med konfigurerbar skilletegn og koding
- TSV — tabulatorseparerte verdier
- ODS — OpenDocument Spreadsheet via
lxHandleX-fasadene
Database- og rutenett-eksport
Eksporter et hvilket som helst TDataSet-kompatibelt dataset eller en TDBGrid direkte til Excel, HTML eller RTF ved hjelp av
TDataToXLS- eller
TGridToXLS-komponentene
Begge komponentene utløser AfterCell-, AfterRow-, AfterTitle- og
AfterGroup-hendelser for finmasket utdatakontroll, og støtter flernivå-grupperingsfelt
Bevaring av VBA-prosjekter
HotXLS bevarer VBA-prosjekt-nyttelaster når makroaktiverte arbeidsbøker runder turen. Skrivebeskyttet modul-
inspeksjon er tilgjengelig gjennom
TXLSVBAProject og TXLSVBAModule
Kall IXLSWorkbook.HasVBAProject for å oppdage en nyttelast og
LoadVBAProjectFromFile / SaveVBAProjectToFile for å overføre den mellom filer
Unicode og internasjonal tekst
All strenghåndtering er Unicode-nativ. HotXLS leser og skriver Excel-filer forfattet på et hvilket som helst språk,
inkludert CJK, arabisk, hebraisk, thai og andre skrifter, med korrekt bidireksjonal tekst- og leseretnings-
støtte

Pivot-tabeller (klassisk XLS)
Opprett pivot-tabeller fra et kildeområde med
TXLSWorksheet.AddPivotTable, konfigurer feltplassering og tallformater for datafelt, og
inspiser pivot-modellen gjennom TXLSWorksheet.PivotTables
Se klassisk XLS-pivot-tabell-API for felt- og filterdetaljer
Fordeler
| Ingen Office-avhengighet | Leser og skriver XLS- og XLSX-filer direkte på binærnivå. Microsoft Excel eller Office trenger ikke å være installert, lisensiert eller kjørende. Dette eliminerer COM/OLE-automatiseringskostnaden, unngår trådingsrestriksjoner som Office-interop pålegger, og gjør at HotXLS kan brukes i server- og tjenestekontekster der en skrivebordsinstallasjon av Office er upraktisk |
| Høy ytelse | BIFF8- og OOXML-tolkerne er skrevet i innfødt Object Pascal uten mellomliggende XML-DOM-allokering på hot path. Store arbeidsbøker med hundretusenvis av rader kan leses og skrives med lavt toppminne. De-duplisering av delte strenger og komprimering av delte formler brukes automatisk for å holde filstørrelsene små |
| OLE-migreringsbane | Den klassiske fasade-API-overflaten (arbeidsbok, regneark, område, skrift, kanter, interiør, sideoppsett) speiler tett Excel-objektmodellen man kjenner fra OLE-automatisering. Dette gjør migrering av eksisterende OLE-baserte prosjekter enkel: erstatt COM-kallene med HotXLS-kall, fjern Office- avhengigheten, og få innfødt ytelse |
| To-fasade-design |
Eldre XLS-kode fortsetter å kompilere og kjøre uendret mot lxHandle, mens ny XLSX-kode
bruker den rikere lxHandleX-fasadene. Å migrere ett filformat om gangen er trygt og
inkrementelt
|
| Formelmotor inkludert |
En innebygd flerpass-beregningsmotor håndterer de vanligste regnearkfunksjonene uten at Excel trenger
å beregne på nytt ved åpning. Egendefinerte funksjoner håndteres gjennom OnUserFunction-
tilbakeringingen
|
| Enkel å bruke |
Ferdigkomponenter for Delphi (TDataToXLS, TGridToXLS) krever ingen kode
for vanlige eksportoppgaver. Det flytende område-API-et støtter A1-notasjon, R1C1-notasjon og
nullbasert rad-/kolonneindeksering
|
| Trådsikker fil-I/U |
Fordi det ikke finnes noen delt Office-prosess, kan flere TXLSXWorkbook-forekomster
opprettes og lagres samtidig på uavhengige tråder uten synkronisering, noe som gjør HotXLS egnet
for flertrådede rapportgenereringsservere
|
Kompatibilitet
HotXLS er kompatibelt med følgende RAD Studio-versjoner:
| 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 |
| Målplattformer | Windows 32-bit og 64-bit |
| Excel-filformater | XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2) |
| Eksportbare formater | HTML, RTF, CSV, TSV |
Se også
- XLSX-fasadeoversikt (lxHandleX) — full klassehierarki og XLSX/ODS-spesifikke API-medlemmer
- API Tour-demo — den første demoen å kjøre når du lærer HotXLS fra grunnen av
- IXLSWorkbook — klassisk XLS-grensesnitt-arbeidsbokreferanse
- TXLSWorksheet — klassisk XLS-klasse-regnearkreferanse
- IXLSRange — grensesnitt for områder: celletilgang, formatering og operasjoner
- TXLSXWorkbook — XLSX-klasse-arbeidsbokreferanse
- TXLSXWorksheet — XLSX-klasse-regnearkreferanse
- TGridToXLS — ferdigkomponent for DBGrid-til-Excel-eksport
- TDataToXLS — ferdigkomponent for datasett-til-Excel-eksport
- OnUserFunction-tilbakeringing — utvidelsespunkt for egendefinerte regnearkfunksjoner
- Klassisk XLS-fargemodell — begrunnelse for palettbasert farge og temafargedesign
- Klassiske XLS ekstra API-medlemmer — beregningsegenskaper, dokumentegenskaper, pivot-tabeller og mer
- Eksempler — oversikt over eksempelprosjekter
- Purchase Order-eksempel — fullverdig XLS-opprettingseksempel med kildekode
