Dokumentacija HotXLS

Pregled

HotXLS Logo
HotXLS Excel biblioteka za čitanje/upis visokoučinska je komponenta za čitanje i upis Excela za Delphi & C++Builder Može stvarati nove Excel proračunske tablice te čitati ili mijenjati postojeće XLS i XLSX radne knjige bez potrebe da Microsoft Excel ili Office budu instalirani na računalu
HotXLS je napisan u cijelosti u Object Pascalu. Izravno čita i upisuje Excel datoteke na binarnoj i OOXML razini, tako da nema COM/OLE automatizacijskog opterećenja niti ovisnosti o tome je li Office licenciran ili prisutan. HotXLS podržava Delphi i C++Builder XE5 do 13 Florence
Klasično XLS oblikovanje boja namjerno ostaje bazirano na paleti. Pogledajte Klasični XLS model boja za odluku o ThemeColor / TintAndShade

Arhitektura dviju fasada

HotXLS izlaže dvije jedinice fasade koje koegzistiraju, tako da naslijeđeni XLS kod i novi XLSX kod mogu živjeti jedan uz drugi bez ikakvog refaktoriranja:
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 koristiti ovu jedinicu bez izmjena. Ulazne točke: TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
lxHandleX Primarna fasada za Excel 2007+ OOXML format (.xlsx) te čitanje/upis OpenDocument proračunske tablice (.ods). Pruža vlastite tipove radne knjige i radnog lista tako da se ponašanje specifično za XLSX ne ugrađuje retroaktivno u BIFF put koda. Ulazne točke: TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
Obje fasade dijele isti stroj za formule, isti sloj podrške za Unicode i isti izvozni cjevovod Pogledajte XLSX Facade pregled za punu hijerarhiju klasa koju izlaže lxHandleX

Brzi početak

Sljedeći isječci prikazuju minimalni kod za stvaranje radne knjige s jednim radnim listom i upis vrijednosti 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 obje fasade u jednom demo projektu pogledajte API Tour Demo

Značajke

Datotečni I/O i podrška za tokove

Čitajte postojeće Excel datoteke, upisujte nove ili postojeće Excel datoteke, obrađujte klasičnu XLS zaštitu lozinkom i XLSX tokove rada sa šifriranim spremanjem te brzo navedite nazive listova iz XLS i XLSX datoteka ili tokova bez učitavanja cijele radne knjige. Otvaranje CSV datoteke kao radne knjige podržano je putem IXLSWorkbook.OpenCSV

Vrijednosti ćelija i formule

Čitajte i upisujte vrijednosti ćelija svih izvornih Excel tipova: broj, niz, datum/vrijeme, boolean i formula Ugrađeni stroj za izračun procjenjuje formule i u klasičnim XLS i u XLSX radnim knjigama, podržavajući:
  • Tekstualne funkcije (LEFT, MID, TRIM, SUBSTITUTE, …)
  • Funkcije datuma i radnih dana (DATE, NETWORKDAYS, WORKDAY, …)
  • Inženjerske funkcije i pretvorbu baza (BIN2DEC, HEX2DEC, …)
  • Bitne funkcije (BITAND, BITOR, BITXOR, …)
  • Statističke i agregatne funkcije (AVERAGE, SUMIF, COUNTIFS, …)
  • Matematičke funkcije (ROUND, MOD, POWER, …)
Povratni poziv OnUserFunction omogućuje vam obradu prilagođenih ili nepodržanih funkcija radnog lista tijekom izvođenja Pogledajte OnUserFunction povratni poziv za potpis i primjere
Primjer procjene formule

Oblikovanje ćelija

Potpuni pristup atributima izgleda ćelija:
  • Fontovi — naziv, veličina, boja (RGB ili boja teme + nijansa), podebljano, kurziv, podcrtano, prekriženo, eksponent, indeks, sjena i obris
  • Poravnanje — vodoravno i okomito poravnanje, orijentacija teksta (kut), razina uvlačenja, prijelom teksta, prilagodi veličinu i redoslijed čitanja (RTL/LTR)
  • Obrubi — sva četiri ruba i dijagonale, stil linije, debljina te RGB / boja teme
  • Interijer (ispuna) — puna ispuna, ispune uzorcima, boje prednjeg i pozadinskog plana uključujući boju teme s TintAndShade
  • Brojčani formati — ugrađeni i prilagođeni formatni nizovi za datum, vrijeme, valutu, postotak i znanstveni zapis
  • Komentari / bilješke — dodajte, čitajte i oblikujte komentare ćelija

Operacije s rasponima

IXLSRange (klasična fasada) i TXLSXRange (XLSX fasada) pružaju bogat skup operacija s rasponima:
  • Spajanje i razdvajanje ćelija; pristup spojenom području bilo koje ćelije
  • Kopiranje, premještanje, umetanje i brisanje raspona, uz kontrolu smjera pomaka
  • Grupiranje i razdvajanje redaka ili stupaca za prikaze s obrisom/sažimanjem
  • Automatsko prilagođavanje visine retka i širine stupca sadržaju ćelija
  • Primjena ugrađenih imenovanih stilova ćelija (ApplyBuiltinStyle)
  • Odabir više područja (TXLSWorksheet.SelectAreas)
  • Povratni poziv za iteraciju ForEachCell za skupnu obradu ćelija

Značajke radnog lista

Kontrola na razini radnog lista pokriva:
  • Naziv lista, boju kartice, vidljivost (skriveno / vrlo skriveno) i navigaciju po indeksu
  • Zaštitu lista s granularnošću po dopuštenju; zaštitu na razini radne knjige
  • Zamrzavanje okana, podijeljena okna i položaj pomicanja
  • AutoFilter raspone s kriterijima; popis pravila provjere podataka
  • Uvjetno oblikovanje: skale boja (2 i 3 boje), trake podataka i skupove ikona
  • Pretraživanje i zamjena teksta u radnom listu
  • Opcije prikaza: boja mrežnih linija, način prikaza formula, prikaz nula, prikaz naslova, prikaz s desna na lijevo, prikaz simbola obrisa i razina zumiranja
  • Strukturirane tablice (TXLSTable / TXLSXTable): dodajte, pristupite i oblikujte Excel tablice s redovima zaglavlja i prugastim redovima
  • Grafikoni: dodajte listove s grafikonima i ugrađene grafikone putem TXLSWorksheetsAddChartSheet i TXLSXChart

Hiperveze i imenovani rasponi

Dodajte i čitajte hiperveze (URL, mailto i reference na ćelije unutar radne knjige) putem IXLSHyperLinks. Definirajte i razrješavajte imenovane raspone na razini radne knjige i radnog lista putem IXLSNames / TXLSXDefinedNames. Imenovani rasponi mogu se koristiti u formulama i razriješiti natrag na raspon ćelija putem RefersToRange

Slike i oblici

Ugradite rasterske slike (BMP, JPG, PNG, GIF) u radne listove putem TXLSShapes.AddPicture / TXLSXWorksheet.AddImage. Stvorite samostalne tekstualne okvire u klasičnom XLS-u putem TXLSShapes.AddTextBox. Sačuvajte OfficeArt konektore i pravila rješavača koje je stvorio Excel u BIFF8 crtežima te izložite sirove FOPT opcije oblika putem TXLSShape.OfficeArtOptions za stručne tokove rada s crtežima

Postavke stranice i ispis

Potpuni pristup izgledu ispisa putem IXLSPageSetup:
  • Veličina papira (A4, Letter, Legal i mnoge druge; pogledajte Veličina papira)
  • Orijentacija (portret / pejzaž), margine, centriranje vodoravno / okomito
  • Nizovi zaglavlja i podnožja s Excel formatnim kodovima (podebljano, kurziv, broj stranice, datum itd.; pogledajte Formatni kodovi zaglavlja/podnožja)
  • Ručni vodoravni i okomiti prijelomi stranica
  • Skaliranje na stranicu; postotak zumiranja; područje ispisa; naslovi za ispis (ponavljanje redaka / stupaca)
  • Kvaliteta skice; crno-bijelo; ispis mrežnih linija; ispis naslova; ispis bilješki

Formati izvoza

Izvezite cijele radne knjige, pojedinačne radne listove ili proizvoljne raspone ćelija u:
  • HTML — cijeli dokument ili fragment tablice u liniji za pregled ili tokove rada e-pošte; kontrolira se putem TXLSHTMLExport i TXLSXHtmlExportOptions
  • RTF — obogaćeni tekst za uvoz u procesore teksta
  • CSV — vrijednosti odvojene zarezima s konfigurabilnim razdjelnikom i kodiranjem
  • TSV — vrijednosti odvojene tabulatorima
  • ODS — OpenDocument proračunska tablica putem fasade lxHandleX

Izvoz baze podataka i mreže

Izvezite bilo koji skup podataka kompatibilan s TDataSet ili TDBGrid izravno u Excel, HTML ili RTF koristeći TDataToXLS ili TGridToXLS komponente Obje komponente pokreću AfterCell, AfterRow, AfterTitle i AfterGroup događaje za kontrolu izlaza na razini detalja te podržavaju polja grupiranja na više razina

Čuvanje VBA projekta

HotXLS čuva VBA projektne sadržaje pri prijenosu radnih knjiga s omogućenim makronaredbama. Pregled modula samo za čitanje dostupan je putem TXLSVBAProject i TXLSVBAModule Pozovite IXLSWorkbook.HasVBAProject za otkrivanje sadržaja i LoadVBAProjectFromFile / SaveVBAProjectToFile za prijenos između datoteka

Unicode i međunarodni tekst

Svo rukovanje nizovima izvorno je Unicode. HotXLS čita i upisuje Excel datoteke stvorene na bilo kojem jeziku, uključujući CJK, arapski, hebrejski, tajlandski i druge pisme, s ispravnom podrškom za dvosmjerni tekst i redoslijed čitanja
Primjer podrške za Unicode znakove

Pivot tablice (klasični XLS)

Stvorite pivot tablice iz izvornog raspona pomoću TXLSWorksheet.AddPivotTable, konfigurirajte raspored polja i brojčane formate polja podataka te pregledajte pivot model putem TXLSWorksheet.PivotTables Pogledajte Classic XLS API pivot tablica za detalje o poljima i filtrima

Prednosti

Bez ovisnosti o Officeu Čita i upisuje XLS i XLSX datoteke izravno na binarnoj razini. Microsoft Excel ili Office ne mora biti instaliran, licenciran ili pokrenut. To uklanja COM/OLE automatizacijsko opterećenje, izbjegava ograničenja povezana s dretvama koja nameće Office interoperabilnost i omogućuje korištenje HotXLS-a u kontekstima poslužitelja i servisa gdje je instalacija Officea na radnoj površini nepraktična
Visoke performanse BIFF8 i OOXML parseri napisani su u izvornom Object Pascalu bez posredne XML DOM alokacije za kritični put. Velike radne knjige sa stotinama tisuća redaka mogu se čitati i upisivati uz nizak vršni memorijski utrošak. Deduplikacija zajedničkih nizova i kompresija zajedničkih formula primjenjuju se automatski kako bi veličina datoteka ostala mala
Put migracije s OLE-a API površina klasične fasade (radna knjiga, radni list, raspon, font, obrubi, interijer, postavke stranice) usko zrcali Excel objektni model poznat iz OLE automatizacije. To čini migraciju postojećih projekata temeljenih na OLE-u jednostavnom: zamijenite COM pozive HotXLS pozivima, uklonite ovisnost o Officeu i dobijete izvorne performanse
Dizajn s dvije fasade Naslijeđeni XLS kod nastavlja se kompajlirati i izvoditi bez izmjena na lxHandle-u, dok novi XLSX kod koristi bogatiju fasadu lxHandleX. Migracija jednog formata datoteke po jednom sigurna je i inkrementalna
Uključen stroj za formule Ugrađeni višeprolazni stroj za izračun obrađuje najčešće funkcije radnog lista bez potrebe da Excel ponovno izračunava pri otvaranju. Prilagođene funkcije obrađuju se putem povratnog poziva OnUserFunction
Jednostavno za korištenje Gotove Delphi komponente (TDataToXLS, TGridToXLS) ne zahtijevaju kod za uobičajene zadatke izvoza. Tečni raspon API podržava A1 notaciju, R1C1 notaciju i indeksiranje redaka/stupaca koje počinje od nule
Siguran datotečni I/O u dretvama Budući da ne postoji zajednički Office proces, više instanci TXLSXWorkbook može se stvarati i spremati istovremeno na neovisnim dretvama bez sinkronizacije, što HotXLS čini prikladnim za višedretvene poslužitelje generiranja izvješća

Kompatibilnost

HotXLS je kompatibilan sa sljedećim RAD Studio verzijama:
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-bit and 64-bit
Excel file formats XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2)
Export-only formats HTML, RTF, CSV, TSV

Vidi također