Dokumentácia HotXLS

Prehľad XLSX Facade (lxHandleX)

lxHandleX je vyhradená fasádna jednotka pre pracovné postupy so zošitmi Excel 2007+ (.xlsx) a OpenDocument Spreadsheet (.ods). Koexistuje s pôvodnou fasádou lxHandle, takže starší kód naďalej funguje bez akýchkoľvek zmien

Hierarchia tried

Fasáda XLSX sprístupňuje nasledujúce triedy:

type
  TXLSXWorkbook           = class  // top-level workbook with SaveAs / Open
  TXLSXHtmlExportOptions  = class  // HTML document, style, BOM, and table class options
  TODSExportOptions        = class  // ODS export options for generator, chart, and image output
  TXLSXSheets             = class  // worksheet collection on the workbook
  TXLSXFonts              = class  // workbook-level font palette
  TXLSXFont               = class  // single font descriptor
  TXLSXFill               = class  // single fill (pattern + fg/bg color)
  TXLSXBorders            = class  // workbook-level border palette
  TXLSXBorder             = class  // four edges + diagonal border
  TXLSXNumberFormats      = class  // workbook-level custom format codes
  TXLSXDefinedNames       = class  // workbook-level named ranges
  TXLSXWorksheet          = class  // single worksheet with cells and decorations
  TXLSXCells              = class  // cell collection on the worksheet
  TXLSXCell               = class  // single cell (value, formula, *Index style refs)
  TXLSXRange              = class  // rectangular worksheet range wrapper
  TXLSXMergedCells        = class  // merged-range collection
  TXLSXHyperlinks         = class  // hyperlink collection
  TXLSXComments           = class  // cell-comment collection
  TXLSXImages             = class  // image collection (drawings + media)
  TXLSXConditionalFormats = class  // conditional formatting rules
  TXLSXDataValidations    = class  // data-validation rules
  TXLSXTables             = class  // Excel-style table collection
  TXLSXCharts             = class  // chart collection (anchored or full-page)
  TXLSXChart              = class  // single chart (column / bar / line / pie / scatter / bubble / radar)
  TXLSXChartSeries        = class  // chart series with category, value, and bubble-size ranges
  TXLSXTextBox            = class  // standalone worksheet drawing text box
  TXLSXRichText           = class  // per-run rich-text payload for cells
  TXLSXAlignment          = class  // cell alignment / wrap / indent / rotation
  TXLSXExternalLinks      = class  // external workbook link collection
  TXLSXExternalLink       = class  // single external workbook reference (Target URL + SheetNames)
      

Tieto triedy sú nezávislé od lxHandle.TXLSWorkBook a lxHandle.TXLSWorksheet. Aplikácie, ktoré potrebujú oba formáty, môžu používať obe fasády vedľa seba:

uses
  lxHandle,   // XLS / HTML / RTF / CSV workbook (TXLSWorkBook)
  lxHandleX;  // XLSX workbook (TXLSXWorkbook)
      

Rýchly štart

Fasáda XLSX sa riadi rovnakými konvenciami tvaru volania ako fasáda BIFF — SaveAs / Open na zošite, Sheets.Add / Sheets[i] na kolekcii pracovných hárkov a Cells.Item[Row, Col].Value na kolekcii buniek. Nasledujúci príklad zapisuje malý zošit, ktorý využíva každú aktuálne podporovanú funkciu:

uses lxHandleX;

var
  wb: TXLSXWorkbook;
  ws: TXLSXWorksheet;
  bold, yellow, box, currency: Integer;
begin
  wb := TXLSXWorkbook.Create;
  try
    bold     := wb.Fonts.Add('Calibri', 12, True, False);
    yellow   := wb.Fills.AddSolid($FFFFFF00);
    box      := wb.Borders.AddBox(xlsxBorderThin);
    currency := wb.NumberFormats.Add('"$"#,##0.00');

    ws := wb.Sheets.Add('Demo');
    ws.Cells.Item[1, 1].Value := 'Hello';
    ws.Cells.Item[1, 1].FontIndex := bold + 1;
    ws.Cells.Item[1, 2].Value := 123.45;
    ws.Cells.Item[1, 2].NumberFormatIndex := currency + 1;
    ws.Cells.Item[2, 1].Value := Now;                 // tagged as date
    ws.Cells.Item[2, 2].Formula := 'SUM(B1:B1)';
    ws.Cells.Item[3, 1].FillIndex := yellow + 1;      // highlight cell
    ws.Cells.Item[3, 2].BorderIndex := box + 1;       // boxed cell
    ws.ColWidth[1] := 24;
    ws.RowHeight[1] := 28;
    ws.MergeCells(4, 1, 4, 3);
    ws.Range['A8:C10'].Merge(True);                  // merge across rows
    ws.AddHyperlink(5, 1, 'https://www.loslab.com', 'Visit losLab');
    ws.AddComment(5, 2, 'Important note', 'Kevin');
    ws.AddImageFromFile(6, 1, 'logo.png');
    ws.AddConditionalFormat('B1:B10', xlsxCfOpGreaterThan, '100');
    ws.AddListValidation('C1:C5', 'Yes,No,Maybe');
    wb.DefinedNames.Add('SalesData', 'Demo!$A$1:$B$10');
    wb.SaveAs('demo.xlsx');
  finally
    wb.Free;
  end;
end;
      

Podporované funkcie

API podkolekcií fasády

Fasádne triedy kolekcií spravujú podmienené formáty, overenia údajov, pomenované rozsahy, obrázky a tabuľky. Tu sú hlavné členy každej kolekcie:

Podporované funkcie

Zdieľaná infraštruktúra

Obe fasády zdieľajú spoločnú sadu pomocných jednotiek nižšej úrovne, čo znamená, že deskriptory štýlov, hash tabuľky, AVL stromy, vstup/výstup ZIP a XML, prevody RGB na HLS a zostavovače reťazcov sú napísané raz a používané oboma cestami. Zdieľaní pomocníci zahŕňajú:

Pozri tiež