HotXLS Belgeleri

TXLSXExternalLink / TXLSXExternalLinks classes

Workbook-level collection of external workbook references (OOXML externalLinks part'ı). Her girdi, bağlantılı bir .xlsx dosyasını hedef URL'siyle ve link part'ının içindeki önbelleğe alınmış meta veriden gelen isteğe bağlı bir sayfa adı listesiyle tanımlar. Koleksiyon TXLSXWorkbook.ExternalLinks Declared in lxHandleX

TXLSXExternalLink declaration

type
  TXLSXExternalLink = class
    constructor Create(const ATarget: WideString);
    destructor Destroy; override;
    property Target: WideString;
    property SheetNames: TStringList;
  end;
      

TXLSXExternalLink üyeleri

Target Başvurulan harici çalışma kitabının URL'si. Aynı dizindeki bir çalışma kitabı için '../Reports/Sales.xlsx'; ağ konumu için tam bir UNC veya file URI kullanın. SaveAs bunu olduğu gibi relationship hedefi olarak ve xl/externalLinks/externalLinkN.xml.rels
SheetNames Harici çalışma kitabındaki sayfa adlarının isteğe bağlı listesi. Dolu olduğunda SaveAs <sheetNames> children inside the <externalBook> öğesi, Excel'in bağlantılı dosyayı açmadan çapraz çalışma kitabı başvurularını çözümlemesini sağlar. Otomatik dolduran: Open mevcut bir çalışma kitabını gidiş-dönüş yaparken doldurulur. Sıfırdan bir bağlantı oluştururken boş bırakın; Excel, harici dosyanın bir sonraki açılışında sayfa adlarını çözümler

TXLSXExternalLinks declaration

type
  TXLSXExternalLinks = class
    constructor Create;
    destructor Destroy; override;
    function Add(const ATarget: WideString): TXLSXExternalLink;
    function IndexOfTarget(const ATarget: WideString): Integer;
    function FindByTarget(const ATarget: WideString): TXLSXExternalLink;
    function DeleteByTarget(const ATarget: WideString): Boolean;
    procedure Delete(Index: Integer);
    procedure Clear;
    property Count: Integer;
    property Items[Index: Integer]: TXLSXExternalLink; default;
  end;
      

TXLSXExternalLinks üyeleri

Add(Target) Appends a new external link with the given target URL and returns the new TXLSXExternalLink instance. Populate SheetNames on the returned object if known
IndexOfTarget / FindByTarget Locate the first external workbook link whose Target matches the requested path or URL. Matching is case-insensitive
DeleteByTarget / Delete / Clear Hedefe göre bir bağlantıyı siler, 0 tabanlı dizine göre bir bağlantıyı siler veya tüm koleksiyonu temizler
Count / Items[Index] Inspect external links by 0-based index. Items is the default property

SaveAs / Open behavior

When Workbook.ExternalLinks.Count > 0, SaveAs emits:
  • An <externalReferences> block in xl/workbook.xml with one <externalReference r:id="rIdN"/> per link
  • A relationship entry in xl/_rels/workbook.xml.rels pointing to externalLinks/externalLinkN.xml
  • xl/externalLinks/externalLinkN.xml containing the <externalBook> element with the target relation and optional <sheetNames>
  • xl/externalLinks/externalLinkN.xml.rels with the actual Target URL
Open round-trips Target and SheetNames; cached cell values inside <sheetDataSet> are not preserved by the current release

Örnek

var
  wb: TXLSXWorkbook;
  link: TXLSXExternalLink;
begin
  wb := TXLSXWorkbook.Create;
  try
    link := wb.ExternalLinks.Add('../Data/Source.xlsx');
    link.SheetNames.Add('Sheet1');
    link.SheetNames.Add('Sheet2');
    wb.Sheets.Add('Report');
    wb.Sheets[0].Cells.Item[1, 1].Formula :=
      '[Source.xlsx]Sheet1!$A$1';
    wb.SaveAs('report.xlsx');
  finally
    wb.Free;
  end;
end;
    

Ayrıca bkz.