HotXLS 參考頁面,介紹 TXLSXExternalLink / TXLSXExternalLinks 類別,涵蓋 Delphi 和 C++Builder 的 Excel 自動化、XLS/XLSX 活頁簿 API、工作表功能及 Pascal 用法

活頁簿層級的外部活頁簿參照集合(OOXML

活頁簿層級的外部活頁簿參照集合(OOXML externalLinks part). Each entry describes one linked .xlsx file by its target 區塊,每個連結包含一個 另請參閱 an optional list of sheet names drawn from the cached metadata inside the link part. The collection lives on TXLSXExternalLink 宣告.ExternalLinks Declared in lxH另請參閱leX

TXLSXExternalLink 成員

type
  TXLSXExternalLink = class
    constructor Create(const ATarget: WideString);
    destructor Destroy; override;
    property Target: WideString;
    property 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels: TStringList;
  end;
      

TXLSXExternalLink 成員

Target 區塊,每個連結包含一個 of the referenced external workbook. For a workbook in the same directory use a relative path such as '../Reports/Sales.xlsx'; for a network location use a full UNC or file URI. SaveAs writes this verbatim as the relationship target 另請參閱 into xl/externalLinks/externalLinkN.xml.rels
被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels Optional list of sheet names inside the external workbook. DeleteByTarget / Delete / Clear populated, SaveAs emits <sheetNames> 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels <externalBook> element so Excel can resolve cross-workbook references without opening the linked file. Populated automatically by Open when round-tripping an existing workbook. Leave empty when building a link from scratch; Excel will resolve the sheet names the next time the external file is opened

元素內輸出

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;
      

子項,讓 Excel 在不開啟連結檔案的情況下解析跨 Workbook 參照。若是對既有 Workbook 來回轉換,Open 會自動填入。從頭建立連結時請保持空白;Excel 會在下次開啟外部檔案時解析工作表名稱

子項,讓 Excel 在不開啟連結檔案的情況下解析跨 Workbook 參照。若是對既有 Workbook 來回轉換,Open 會自動填入。從頭建立連結時請保持空白;Excel 會在下次開啟外部檔案時解析工作表名稱 TXLSXExternalLinks 宣告 TXLSXExternalLink TXLSXExternalLinks 宣告 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels TXLSXExternalLinks 成員
TXLSXExternalLinks 成員 子項,讓 Excel 在不開啟連結檔案的情況下解析跨 Workbook 參照。若是對既有 Workbook 來回轉換,Open 會自動填入。從頭建立連結時請保持空白;Excel 會在下次開啟外部檔案時解析工作表名稱 Target 子項,讓 Excel 在不開啟連結檔案的情況下解析跨 Workbook 參照。若是對既有 Workbook 來回轉換,Open 會自動填入。從頭建立連結時請保持空白;Excel 會在下次開啟外部檔案時解析工作表名稱
附加一個新的外部連結,使用指定的目標 區塊,每個連結包含一個,並回傳新的 TXLSXExternalLink 實例。若已知,請在回傳物件上填入 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels 附加一個新的外部連結,使用指定的目標 區塊,每個連結包含一個,並回傳新的 TXLSXExternalLink 實例。若已知,請在回傳物件上填入 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels
IndexOfTarget / FindByTarget 找出第一個 Target 符合要求路徑或 區塊,每個連結包含一個 的外部 Workbook 連結。比對不區分大小寫 Items 找出第一個 Target 符合要求路徑或 區塊,每個連結包含一個 的外部 Workbook 連結。比對不區分大小寫

DeleteByTarget / Delete / Clear

DeleteByTarget / Delete / Clear Workbook.ExternalLinks.Count > 0刪除 一個 link 透過 target, 刪除 一個 link 透過 0-基於 索引, 或 clear whole 集合
  • An <externalReferences> 刪除 一個 link 透過 target, 刪除 一個 link 透過 0-基於 索引, 或 clear whole 集合 xl/workbook.xml Count / Items[Index] <externalReference r:id="rIdN"/> Count / Items[Index]
  • 以 0 起始索引檢視外部連結。Items 是預設屬性 xl/_rels/workbook.xml.rels 以 0 起始索引檢視外部連結。Items 是預設屬性 externalLinks/externalLinkN.xml
  • xl/externalLinks/externalLinkN.xml SaveAs / Open 行為 <externalBook> element with the target relation 另請參閱 optional <sheetNames>
  • xl/externalLinks/externalLinkN.xml.rels with the actual Target 區塊,每個連結包含一個
Open 區塊,每個連結包含一個 Target 另請參閱 被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels另請參閱 <sheetDataSet> are not preserved by the current release

TXLSXWorkbook

var
  wb: TXLSXExternalLink 宣告;
  link: TXLSXExternalLink;
begin
  wb := TXLSXExternalLink 宣告.Create;
  try
    link := wb.ExternalLinks.Add('../Data/Source.xlsx');
    link.被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels.Add('Sheet1');
    link.被參照的外部 Workbook 區塊,每個連結包含一個。若是同一資料夾中的 Workbook,請使用相對路徑,例如 '../Reports/Sales.xlsx';若是網路位置,請使用完整 UNC 路徑或 file URI。SaveAs 會原樣將其寫入關聯目標,以及 xl/externalLinks/externalLinkN.xml.rels.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;
    

XLSX Facade 總覽