مستندات HotXLS

بررسی اجمالی نمای XLSX (lxHandleX)

lxHandleX واحد نمای اختصاصی برای گردش‌های کاری کارپوشه Excel 2007+ (.xlsx) و OpenDocument Spreadsheet (.ods) است. این واحد در کنار نمای اصلی lxHandle همزیستی دارد تا کدهای قدیمی بدون هیچ تغییری به کار خود ادامه دهند:

سلسله‌مراتب کلاس‌ها

نمای XLSX کلاس‌های زیر را در دسترس قرار می‌دهد:

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
  TXLSXFills              = class  // workbook-level fill palette
  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)
      

این کلاس‌ها مستقل از lxHandle.TXLSWorkBook و lxHandle.TXLSWorksheet هستند. برنامه‌هایی که به هر دو قالب نیاز دارند، می‌توانند از هر دو نما در کنار یکدیگر استفاده کنند:

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

شروع سریع

نمای XLSX از همان قراردادهای شکل فراخوانی نمای BIFF پیروی می‌کند — متدهای SaveAs / Open در کارپوشه، Sheets.Add / Sheets[i] در مجموعه کاربرگ و Cells.Item[Row, Col].Value در مجموعه سلول. مثال زیر یک کارپوشه کوچک را می‌نویسد که تمام ویژگی‌های در حال حاضر پشتیبانی‌شده را تمرین می‌کند:

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;
      

ویژگی‌های پشتیبانی‌شده

APIهای زیرمجموعه نما

کلاس‌های مجموعه نما، قالب‌های شرطی، اعتبار سنجی‌های داده، محدوده‌های نام‌گذاری‌شده، تصاویر و جدول‌ها را مدیریت می‌کنند. اعضای اصلی هر مجموعه در زیر آمده است:

ویژگی‌های پشتیبانی‌شده

زیرساخت مشترک

هر دو نما از مجموعه مشترکی از واحدهای کمکی سطح پایین استفاده می‌کنند,به این معنی که توصیف‌گرهای سبک، جدول‌های هش، درخت‌های AVL، ورودی/خروجی ZIP و XML، تبدیل‌های RGB به HLS و سازنده‌های رشته یک بار نوشته شده و توسط هر دو مسیر استفاده می‌شوند. کمک‌کننده‌های مشترک عبارتند از:

همچنین ببینید