Pregled
![]() |
HotXLS Excel Read/Write Library je komponenta visokih performansi za čitanje i upis Excel datoteka za Delphi & C++Builder.
Može da kreira nove Excel proračunske tablice i čita ili menja postojeće XLS i XLSX radne sveske bez zahteva da
Microsoft Excel ili Office budu instalirani na računaru
HotXLS je u potpunosti napisan u Object Pascal-u. On direktno čita i upisuje Excel datoteke
na binarnom i OOXML nivou, tako da nema COM/OLE automatizacionog dodatnog opterećenja niti zavisnosti od toga da li je Office
licenciran ili prisutan. HotXLS podržava Delphi i C++Builder XE5 do 13 Florence
Formatiranje boja klasičnog XLS-a namerno ostaje zasnovano na paleti. Pogledajte Klasični XLS model boja
za odluku o ThemeColor / TintAndShade
|
Arhitektura sa dve fasade
HotXLS izlaže dve koegzistirajuće fasadne jedinice tako da stari XLS kod i novi XLSX kod mogu da žive jedan pored drugog
bez ikakvog refaktorisanja:
lxHandle |
Primarna fasada za Excel 97–2003 BIFF8 format (.xls), plus izvoz u HTML, RTF, CSV i TSV.
Sav postojeći korisnički kod nastavlja da koristi ovu jedinicu nepromenjeno. Ulazne tačke:
TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
|
lxHandleX |
Primarna fasada za Excel 2007+ OOXML format (.xlsx) i čitanje/upis OpenDocument Spreadsheet
(.ods). Obezbeđuje sopstvene tipove radne sveske i radnog lista tako da se ponašanje specifično za XLSX ne
prenosi retrogradno na BIFF putanju koda. Ulazne tačke:
TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
|
Obe fasade dele isti mehanizam formula, isti sloj podrške za Unicode i istu cevovod izvoza.
Pogledajte XLSX Facade pregled za punu hijerarhiju klasa koju izlaže
lxHandleX
Brzi početak
Sledeći isečci prikazuju minimalni kod za kreiranje radne sveske sa jednim radnim listom i
upis vrednosti u ćeliju.
Klasični 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;
Za širi vodič koji pokriva obe fasade u jednom demo projektu, pogledajte
API Tour Demo
Mogućnosti
Datotečni I/O i podrška za tokove
Čitajte postojeće Excel datoteke, upisujte nove ili postojeće Excel datoteke, rukujte zaštitom lozinkom
klasičnog XLS-a i tokovima šifrovanog čuvanja XLSX-a, te brzo navedite nazive listova iz XLS i XLSX
datoteka ili tokova bez učitavanja cele radne sveske. Otvaranje CSV datoteke kao radne sveske je
podržano kroz
IXLSWorkbook.OpenCSV
Vrednosti ćelija i formule
Čitajte i upisujte vrednosti ćelija svih izvornih Excel tipova: broj, niska, datum/vreme, bulov i formula.
Ugrađeni motor za izračunavanje vrednuje formule i u klasičnim XLS i u XLSX radnim sveskama, uz podršku za:
- Tekstualne funkcije (
LEFT,MID,TRIM,SUBSTITUTE, …) - Funkcije datuma i radnih dana (
DATE,NETWORKDAYS,WORKDAY, …) - Inženjerske funkcije i konverzija baza (
BIN2DEC,HEX2DEC, …) - Bitovne funkcije (
BITAND,BITOR,BITXOR, …) - Statističke i agregatne funkcije (
AVERAGE,SUMIF,COUNTIFS, …) - Matematičke funkcije (
ROUND,MOD,POWER, …)
OnUserFunction povratni poziv vam omogućava da u toku rada rukujete prilagođenim ili
nepodržanim funkcijama radnog lista. Pogledajte
OnUserFunction povratni poziv za potpis i primere

Formatiranje ćelija
Potpun pristup atributima izgleda ćelije:
- Fontovi — naziv, veličina, boja (RGB ili boja teme + nijansa), podebljano, kurziv, podvučeno, precrtano, nadpis, podpis, senka i kontura
- Poravnanje — horizontalno i vertikalno poravnanje, orijentacija teksta (ugao), nivo uvlačenja, prelamanje teksta, prilagođavanje veličini i redosled čitanja (RTL/LTR)
- Okviri — sve četiri ivice i dijagonale, stil linije, debljina i RGB / boja teme
- Unutrašnjost (popuna) — puna popuna, popune šablonima, boje prednjeg plana i pozadine, uključujući boju teme sa TintAndShade
- Formati broja — ugrađene i prilagođene niske formata za datum, vreme, valutu, procenat i naučnu notaciju
- Komentari / napomene — dodajte, čitajte i oblikujte komentare ćelija
Operacije nad opsezima
IXLSRange (klasična fasada) i TXLSXRange (XLSX fasada) pružaju bogat skup
operacija nad opsezima:
- Spajanje i razdvajanje ćelija; pristup spojenoj oblasti bilo koje ćelije
- Kopiranje, pomeranje, umetanje i brisanje opsega, uz kontrolu smera pomeranja
- Grupisanje i razdvajanje redova ili kolona za prikaze sa konturama/sažimanjem
- Automatsko prilagođavanje visine reda i širine kolone sadržaju ćelije
- Primena ugrađenih imenovanih stilova ćelija (
ApplyBuiltinStyle) - Oznake sa više oblasti (
TXLSWorksheet.SelectAreas) - ForEachCell povratni poziv za iteraciju radi obrade ćelija u seriji
Funkcije radnog lista
Kontrola na nivou radnog lista obuhvata:
- Naziv lista, boju kartice, vidljivost (skriven / veoma skriven) i navigaciju po indeksu
- Zaštitu lista sa granularnošću po dozvoli; zaštitu na nivou radne sveske
- Zamrznuta okna, podeljena okna i poziciju pomeranja
- AutoFilter opsege sa kriterijumima; pravila provere podataka sa liste
- Uslovno formatiranje: skale boja (2 i 3 boje), trake podataka i skupove ikona
- Pretragu i zamenu teksta u okviru radnog lista
- Opcije prikaza: boja linija mreže, režim prikaza formula, prikaz nula, prikaz zaglavlja, prikaz s desna na levo, prikaz simbola kontura i nivo zumiranja
- Strukturisane tabele (
TXLSTable/TXLSXTable): dodavanje, pristup i oblikovanje Excel tabela sa redovima zaglavlja i naizmeničnim redovima - Grafikoni: dodavanje listova sa grafikonima i ugrađenih grafikona preko
TXLSWorksheetsAddChartSheetiTXLSXChart
Hiperveze i imenovani opsezi
Dodajte i čitajte hiperveze (URL, mailto i reference na ćelije unutar radne sveske) preko
IXLSHyperLinks. Definišite i razrešavajte imenovane opsege na nivou radne sveske i radnog
lista preko IXLSNames / TXLSXDefinedNames. Imenovani opsezi mogu da se koriste
u formulama i da se vrate na opseg ćelija putem RefersToRange
Slike i oblici
Ugradite rasterske slike (BMP, JPG, PNG, GIF) u radne listove preko
TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Kreirajte samostalne
tekstualne okvire u klasičnom XLS-u preko TXLSShapes.AddTextBox. Sačuvajte Excel-ove
OfficeArt konektore i pravila rešavača u BIFF8 crtežima i izložite sirove FOPT opcije oblika preko
TXLSShape.OfficeArtOptions za napredne tokove rada sa crtežima
Postavke stranice i štampanje
Potpun pristup rasporedu štampe preko
IXLSPageSetup:
- Veličina papira (A4, Letter, Legal i mnoge druge; pogledajte PaperSize)
- Orijentacija (portret / pejzaž), margine, centriranje horizontalno / vertikalno
- Niske zaglavlja i podnožja sa Excel kodovima za formatiranje (podebljano, kurziv, broj stranice, datum itd.; pogledajte Kodovi za formatiranje zaglavlja/podnožja)
- Ručni horizontalni i vertikalni prelomi stranice
- Prilagođavanje na broj stranica; procenat zumiranja; oblast štampe; naslovi štampe (ponavljanje redova / kolona)
- Kvalitet nacrta; crno-belo; štampanje linija mreže; štampanje zaglavlja; štampanje napomena
Formati izvoza
Izvozite cele radne sveske, pojedinačne radne listove ili proizvoljne opsege ćelija u:
- HTML — pun dokument ili segment tabele u liniji za tokove rada sa pregledom
ili e-poštom; kontroliše se preko
TXLSHTMLExportiTXLSXHtmlExportOptions - RTF — obogaćeni tekst za uvoz u programe za obradu teksta
- CSV — vrednosti razdvojene zarezom sa podesivim razdvajačem i kodnim rasporedom
- TSV — vrednosti razdvojene tabulatorom
- ODS — OpenDocument Spreadsheet preko
lxHandleXfasade
Izvoz iz baze podataka i mreže
Izvezite bilo koji skup podataka kompatibilan sa TDataSet ili TDBGrid direktno u Excel, HTML ili RTF
pomoću
TDataToXLS ili
TGridToXLS komponenti.
Obe komponente pokreću AfterCell, AfterRow, AfterTitle i
AfterGroup događaje za preciznu kontrolu izlaza i podržavaju polja grupisanja na više nivoa
Očuvanje VBA projekta
HotXLS čuva sadržaj VBA projekta pri ponovnom čitanju/upisu radnih sveska sa omogućenim makroima.
Pregled modula samo za čitanje dostupan je preko
TXLSVBAProject i TXLSVBAModule.
Pozovite IXLSWorkbook.HasVBAProject da biste otkrili sadržaj i
LoadVBAProjectFromFile / SaveVBAProjectToFile da biste ga preneli između datoteka
Unicode i međunarodni tekst
Celokupno rukovanje niskama je izvorno zasnovano na Unicode-u. HotXLS čita i upisuje Excel datoteke
kreirane na bilo kom jeziku, uključujući CJK, arapski, hebrejski, tajlandski i druga pisma, uz ispravnu
podršku za dvosmerni tekst i redosled čitanja

Pivot tabele (klasični XLS)
Kreirajte pivot tabele iz izvornog opsega pomoću
TXLSWorksheet.AddPivotTable, konfigurišite raspored polja i formate broja podataka u
poljima i pregledajte pivot model preko TXLSWorksheet.PivotTables.
Pogledajte Klasični XLS pivot tabela API za detalje o poljima i filtrima
Prednosti
| Bez zavisnosti od Office-a | Čita i upisuje XLS i XLSX datoteke direktno na binarnom nivou. Microsoft Excel ili Office ne mora da bude instaliran, licenciran ili pokrenut. Ovo eliminiše dodatno opterećenje COM/OLE automatizacije, izbegava ograničenja vezana za niti koja nameće Office interop i omogućava korišćenje HotXLS-a u kontekstima na strani servera i usluga gde instalacija Office-a na radnoj stanici nije praktična |
| Visoke performanse | BIFF8 i OOXML parseri su napisani u izvornom Object Pascal-u, bez alokacije među-XML DOM strukture za vruću putanju. Velike radne sveske sa stotinama hiljada redova mogu da se čitaju i upisuju uz nizak vršni nivo memorije. Deduplikacija zajedničkih niski i kompresija zajedničkih formula primenjuju se automatski kako bi veličina datoteka ostala mala |
| Putanja migracije sa OLE-a | Površina API-ja klasične fasade (radna sveska, radni list, opseg, font, okviri, unutrašnjost, postavke stranice) blisko ogleda Excel objektni model poznat iz OLE automatizacije. Ovo čini migraciju postojećih projekata zasnovanih na OLE-u jednostavnom: zamenite COM pozive HotXLS pozivima, uklonite zavisnost od Office-a i dobijete izvorne performanse |
| Dizajn sa dve fasade |
Nasleđeni XLS kod nastavlja da se kompajlira i radi nepromenjeno uz lxHandle, dok novi
XLSX kod koristi bogatiju lxHandleX fasadu. Migriranje jednog formata datoteke po jedan je
bezbedno i postepeno
|
| Uključen motor formula |
Ugrađeni višeprolazni motor za izračunavanje rukuje najčešćim funkcijama radnog lista bez potrebe da
Excel preračunava pri otvaranju. Prilagođene funkcije se obrađuju kroz OnUserFunction
povratni poziv
|
| Jednostavan za korišćenje |
Gotove Delphi komponente (TDataToXLS, TGridToXLS) ne zahtevaju kod za
uobičajene zadatke izvoza. Fluentni opseg API-ja podržava A1 notaciju, R1C1 notaciju i indeksiranje
redova/kolona od nule
|
| Datotečni I/O bezbedan za niti |
Pošto ne postoji zajednički Office proces, više instanci TXLSXWorkbook može istovremeno da
se kreira i čuva na nezavisnim nitima bez sinhronizacije, što HotXLS čini pogodnim za
višenitne servere za generisanje izveštaja
|
Kompatibilnost
HotXLS je kompatibilan sa sledećim verzijama RAD Studio-a:
| 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 |
| Ciljne platforme | Windows 32-bitni i 64-bitni |
| Formati Excel datoteka | XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2) |
| Formati samo za izvoz | HTML, RTF, CSV, TSV |
Vidi takođe
- XLSX Facade pregled (lxHandleX) — puna hijerarhija klasa i XLSX/ODS specifični API članovi
- API Tour Demo — prvi demo koji treba pokrenuti kada učite HotXLS od početka
- IXLSWorkbook — referenca klasičnog XLS interfejsa radne sveske
- TXLSWorksheet — referenca klasične XLS klase radnog lista
- IXLSRange — interfejs opsega: pristup ćelijama, formatiranje i operacije
- TXLSXWorkbook — referenca XLSX klase radne sveske
- TXLSXWorksheet — referenca XLSX klase radnog lista
- TGridToXLS — komponenta za izvoz DBGrid-a u Excel bez koda
- TDataToXLS — komponenta za izvoz skupa podataka u Excel bez koda
- OnUserFunction povratni poziv — tačka proširenja prilagođenih funkcija radnog lista
- Klasični XLS model boja — obrazloženje dizajna boja zasnovanog na paleti i boja teme
- Klasični XLS dodatni API članovi — svojstva izračunavanja, svojstva dokumenta, pivot tabele i još mnogo toga
- Primeri — pregled projekata primera
- Purchase Order primer — primer kreiranja XLS-a sa punim funkcijama i izvornim kodom
