Pregled
![]() |
Knjižnica za branje/pisanje datotek Excel HotXLS je visoko zmogljiva komponenta za branje in pisanje Excel datotek za Delphi & C++Builder
Ustvari lahko nove Excel preglednice ter bere ali spreminja obstoječe delovne zvezke XLS in XLSX brez
potrebe po nameščenem Microsoft Excelu ali Officeu na računalniku
HotXLS je v celoti napisan v Object Pascalu. Datoteke Excel bere in piše neposredno
na ravni binarnih zapisov in OOXML, zato ni nobenih dodatnih stroškov avtomatizacije COM/OLE in ni
odvisnosti od licenciranega ali nameščenega Officea. HotXLS podpira Delphi in C++Builder XE5 do 13 Florence
Barvno oblikovanje klasičnega XLS namenoma ostaja zasnovano na paleti. Za odločitev
ThemeColor / TintAndShade glej Classic XLS color model
|
Arhitektura z dvojno fasado
HotXLS razkriva dve soobstajajoči fasadni enoti, tako da lahko stara koda XLS in nova koda XLSX živita
druga ob drugi brez kakršnega koli preoblikovanja:
lxHandle |
Primarna fasada za obliko BIFF8 formata Excel 97–2003 (.xls) ter izvoze HTML, RTF, CSV
in TSV. Vsa obstoječa uporabniška koda še naprej uporablja to enoto nespremenjeno. Vstopne točke:
TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
|
lxHandleX |
Primarna fasada za branje/pisanje formata OOXML Excel 2007+ (.xlsx) in preglednic
OpenDocument (.ods). Zagotavlja lastne vrste delovnega zvezka in delovnega lista, tako da
vedenje, značilno za XLSX, ni naknadno vpeto v kodno pot BIFF. Vstopne točke:
TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
|
Obe fasadni plasti si delita isti formulni pogon, isto raven podpore za Unicode in isti izvozni cevovod
Za celotno hierarhijo razredov, ki jih razkriva
lxHandleX, glej
XLSX Facade Overview
Hitri začetek
Naslednji odrezki prikazujejo minimalno kodo za ustvarjanje delovnega zvezka z enim delovnim listom in zapis
vrednosti v celico.
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 širši vodnik, ki v enem demonstracijskem projektu pokriva obe fasadni plasti, glejte
API Tour Demo
Funkcije
Datotečni I/O in podpora za tokove
Branje obstoječih datotek Excel, pisanje novih ali obstoječih datotek Excel, obravnava zaščite z geslom
klasičnega XLS in potekov šifriranega shranjevanja XLSX ter hiter seznam imen delovnih listov iz datotek
ali tokov XLS in XLSX brez nalaganja celotnega delovnega zvezka. Odpiranje CSV kot delovnega zvezka je
podprto prek
IXLSWorkbook.OpenCSV
Vrednosti celic in formule
Branje in pisanje vrednosti celic vseh izvornih vrst Excel: število, niz, datum/čas, logična vrednost in
formula. Vgrajeni računski pogon izračuna formule v delovnih zvezkih klasičnega XLS in XLSX ter podpira:
- Besedilne funkcije (
LEFT,MID,TRIM,SUBSTITUTE, …) - Funkcije za datume in delovne dni (
DATE,NETWORKDAYS,WORKDAY, …) - Inženirske funkcije in funkcije za pretvorbo osnov (
BIN2DEC,HEX2DEC, …) - Bitne funkcije (
BITAND,BITOR,BITXOR, …) - Statistične in zbirne funkcije (
AVERAGE,SUMIF,COUNTIFS, …) - Matematične funkcije (
ROUND,MOD,POWER, …)
Povratni klic
OnUserFunction vam omogoča obravnavo poljubnih ali nepodprtih funkcij
delovnega lista med izvajanjem. Za podpis in primere glejte
OnUserFunction callback

Oblikovanje celic
Poln dostop do atributov videza celic:
- Pisave — ime, velikost, barva (RGB ali barva teme + odtenek), krepko, poševno, podčrtano, prečrtano, nadpisano, podpisano, senca in obris
- Poravnava — vodoravna in navpična poravnava, usmerjenost besedila (kot), stopnja zamika, lomljenje besedila, prilagajanje velikosti in vrstni red branja (RTL/LTR)
- Obrobe — vsi štirje robovi in diagonale, slog črte, debelina ter barva RGB / teme
- Notranjost (polnilo) — enotno polnilo, polnila z vzorcem, barve ospredja in ozadja, vključno z barvo teme s TintAndShade
- Formati števil — vgrajeni in poljubni formatni nizi za datum, čas, valuto, odstotke in znanstveni zapis
- Komentarji / opombe — dodajanje, branje in oblikovanje komentarjev celic
Operacije z območji
IXLSRange (klasična fasada) in TXLSXRange (fasada XLSX) zagotavljata bogat nabor
operacij z območji:
- Združevanje in razzdruževanje celic; dostop do združenega območja katere koli celice
- Kopiranje, premikanje, vstavljanje in brisanje območij z nadzorom smeri premika
- Združevanje in razdruževanje vrstic ali stolpcev za poglede s pregledom/stiskanjem
- Samodejno prilagajanje višine vrstice in širine stolpca vsebini celice
- Uporaba vgrajenih poimenovanih slogov celic (
ApplyBuiltinStyle) - Izbori z več območji (
TXLSWorksheet.SelectAreas) - Povratni klic za iteracijo ForEachCell za paketno obdelavo celic
Funkcije delovnega lista
Nadzor na ravni delovnega lista pokriva:
- Ime lista, barvo zavihka, vidnost (skrito / zelo skrito) in navigacijo na podlagi indeksa
- Zaščito lista s podrobnostjo po posameznem dovoljenju; zaščito na ravni delovnega zvezka
- Zamrznjena podokna, razdeljena podokna in položaj drsenja
- Območja samodejnega filtra z merili; seznam pravil za preverjanje podatkov
- Pogojno oblikovanje: barvne lestvice (2 in 3 barve), podatkovne vrstice in nabori ikon
- Iskanje in zamenjavo besedila v delovnem listu
- Možnosti pogleda: barva mrežnih črt, način prikaza formul, prikaz ničel, prikaz naslovov, prikaz od desne proti levi, prikaz simbolov pregleda in stopnja povečave
- Strukturirane tabele (
TXLSTable/TXLSXTable): dodajanje, dostop in oblikovanje Excel tabel z naslovnimi in pasovnimi vrsticami - Grafikoni: dodajanje listov z grafikoni in vdelanih grafikonov prek
TXLSWorksheetsAddChartSheetinTXLSXChart
Hiperpovezave in poimenovana območja
Dodajanje in branje hiperpovezav (URL, mailto in sklice celic znotraj delovnega zvezka) prek
IXLSHyperLinks. Definiranje in razreševanje poimenovanih območij na ravni delovnega zvezka in
delovnega lista prek IXLSNames / TXLSXDefinedNames. Poimenovana območja lahko
uporabljate v formulah in jih razrešite nazaj v območje celic prek RefersToRange
Slike in oblike
Vdelava rastrskih slik (BMP, JPG, PNG, GIF) v delovne liste prek
TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Ustvarjanje samostojnih besedilnih
polj v klasičnem XLS prek TXLSShapes.AddTextBox. Ohranjanje konektorjev OfficeArt in pravil
reševalnika, ki jih je ustvaril Excel, v risbah BIFF8 ter izpostavitev neobdelanih možnosti FOPT oblik prek
TXLSShape.OfficeArtOptions za napredne poteke dela z risanjem
Nastavitev strani in tiskanje
Poln dostop do postavitve tiskanja prek
IXLSPageSetup:
- Velikost papirja (A4, Letter, Legal in številne druge; glej PaperSize)
- Usmerjenost (pokončno / ležeče), robovi, centriranje vodoravno / navpično
- Niza glave in noge s kodami oblikovanja Excel (krepko, poševno, številka strani, datum itd.; glej Header/Footer formatting codes)
- Ročni vodoravni in navpični prelomi strani
- Prilagajanje številu strani; odstotek povečave; območje tiskanja; naslovi tiskanja (ponavljanje vrstic / stolpcev)
- Kakovost osnutka; črno-belo; tisk mrežnih črt; tisk naslovov; tisk opomb
Formati izvoza
Izvoz celotnih delovnih zvezkov, posameznih delovnih listov ali poljubnih območij celic v:
- HTML — celoten dokument ali delček tabele v vrstici za poteke dela s predogledom ali
e-pošto; nadzorovano prek
TXLSHTMLExportinTXLSXHtmlExportOptions - RTF — obogateno besedilo za uvoz v urejevalnike besedila
- CSV — vrednosti, ločene z vejicami, s konfigurabilnim ločilom in kodiranjem
- TSV — vrednosti, ločene s tabulatorji
- ODS — preglednica OpenDocument prek fasade
lxHandleX
Izvozi podatkovnih zbirk in mrež
Neposreden izvoz katerega koli podatkovnega niza, združljivega s TDataSet, ali TDBGrid v Excel, HTML ali RTF
s komponentama
TDataToXLS ali
TGridToXLS.
Obe komponenti sprožata dogodke AfterCell, AfterRow, AfterTitle in
AfterGroup za podroben nadzor nad izpisom ter podpirata večnivojska polja združevanja
Ohranjanje projekta VBA
HotXLS ohranja nosilce projekta VBA pri ponovnem branju/pisanju delovnih zvezkov z omogočenimi makri.
Pregled modulov v načinu samo za branje je na voljo prek
TXLSVBAProject in
TXLSVBAModule. Z IXLSWorkbook.HasVBAProject zaznate nosilec, z
LoadVBAProjectFromFile / SaveVBAProjectToFile pa ga prenesete med datotekami
Unicode in mednarodno besedilo
Vsa obravnava nizov je izvorno Unicode. HotXLS bere in piše datoteke Excel, ustvarjene v katerem koli
jeziku, vključno s CJK, arabščino, hebrejščino, tajščino in drugimi pisavami, s pravilno podporo za
dvosmerno besedilo in vrstni red branja

Vrtilne tabele (klasični XLS)
Ustvarjanje vrtilnih tabel iz izvornega območja z
TXLSWorksheet.AddPivotTable, konfiguracija
razporeditve polj in formatov števil podatkovnih polj ter pregled modela vrtilne tabele prek
TXLSWorksheet.PivotTables. Za podrobnosti o poljih in filtrih glej
Classic XLS pivot table API
Prednosti
| Ni odvisnosti od Officea | Datoteke XLS in XLSX bere in piše neposredno na binarni ravni. Microsoft Excel ali Office ni treba namestiti, licencirati ali zagnati. To odpravlja stroške avtomatizacije COM/OLE, se izogne omejitvam niti, ki jih nalaga interoperabilnost Officea, in omogoča uporabo HotXLS v strežniških in storitvenih okoljih, kjer namestitev namiznega Officea ni smiselna |
| Visoka zmogljivost | Razčlenjevalnika BIFF8 in OOXML sta napisana v izvornem Object Pascalu brez vmesne dodelitve XML DOM na kritični poti. Veliki delovni zvezki s stotinami tisočev vrstic se lahko berejo in pišejo z nizko konično porabo pomnilnika. Deduplikacija skupnih nizov in stiskanje skupnih formul se uporabljata samodejno za ohranjanje majhnih velikosti datotek |
| Pot selitve iz OLE | Površina API-ja klasične fasade (delovni zvezek, delovni list, območje, pisava, obrobe, notranjost, nastavitev strani) tesno zrcali objektni model Excel, poznan iz avtomatizacije OLE. To poenostavi selitev obstoječih projektov na OLE: klike COM zamenjajte s klici HotXLS, odstranite odvisnost od Officea in pridobite izvorno zmogljivost |
| Zasnova z dvojno fasado |
Stara koda XLS se še naprej prevaja in izvaja nespremenjeno ob lxHandle, medtem ko nova
koda XLSX uporablja bogatejšo fasado lxHandleX. Selitev po eno vrsto datoteke naenkrat je
varna in postopna
|
| Vključen formulni pogon |
Vgrajeni večprehodni računski pogon obravnava najpogostejše funkcije delovnega lista brez potrebe, da
Excel ob odprtju znova izračuna. Poljubne funkcije se obravnavajo prek povratnega klica
OnUserFunction
|
| Enostavna uporaba |
Komponente Delphi, ki jih preprosto spustite v projekt (TDataToXLS, TGridToXLS),
ne zahtevajo kode za običajne naloge izvoza. Gladki API za območja podpira zapis A1, zapis R1C1 in
indeksiranje vrstic/stolpcev od nič
|
| Varen datotečni I/O v večnitnem okolju |
Ker ni skupnega procesa Officea, je mogoče več primerkov TXLSXWorkbook ustvarjati in
shranjevati sočasno na neodvisnih nitih brez sinhronizacije, zaradi česar je HotXLS primeren za
večnitne strežnike za generiranje poročil
|
Združljivost
HotXLS je združljiv z naslednjimi različicami 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 |
| Ciljne platforme | Windows 32-bitni in 64-bitni |
| Formati datotek Excel | XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2) |
| Formati samo za izvoz | HTML, RTF, CSV, TSV |
Glej tudi
- XLSX Facade Overview (lxHandleX) — celotna hierarhija razredov in člani API-ja, značilni za XLSX/ODS
- API Tour Demo — prvi demo, ki ga zaženete pri učenju HotXLS iz nič
- IXLSWorkbook — referenčni vmesnik delovnega zvezka klasičnega XLS
- TXLSWorksheet — referenčni razred delovnega lista klasičnega XLS
- IXLSRange — vmesnik območja: dostop do celic, oblikovanje in operacije
- TXLSXWorkbook — referenčni razred delovnega zvezka XLSX
- TXLSXWorksheet — referenčni razred delovnega lista XLSX
- TGridToXLS — komponenta za izvoz DBGrid v Excel brez dodatnega kodiranja
- TDataToXLS — komponenta za izvoz podatkovnega niza v Excel brez dodatnega kodiranja
- OnUserFunction callback — razširitvena točka za poljubne funkcije delovnega lista
- Classic XLS color model — utemeljitev zasnove barv na osnovi palete in barv teme
- Classic XLS additional API člani — lastnosti za izračune, lastnosti dokumenta, vrtilne tabele in več
- Examples — pregled vzorčnih projektov
- Purchase Order Sample — popoln primer ustvarjanja XLS z izvorno kodo
