Workbook-level collection of external workbook references (OOXML
externalLinks -delen). Varje post beskriver en länkad .xlsx-fil via dess mål-URL och en valfri lista med bladnamn hämtade ur cachad metadata i länkdelen. Samlingen finns på
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 medlemmar
| Target |
URL för den refererade externa arbetsboken. För en arbetsbok i samma katalog använder du en relativ sökväg som
'../Reports/Sales.xlsx'; för en nätverksplats använder du en fullständig UNC- eller file-URI. SaveAs skriver detta ordagrant som relationens mål och in i
xl/externalLinks/externalLinkN.xml.rels |
| SheetNames |
Valfri lista med bladnamn i den externa arbetsboken. När den är fylld genererar SaveAs
<sheetNames> children inside the
<externalBook> -elementet så att Excel kan lösa referenser mellan arbetsböcker utan att öppna den länkade filen. Fyllds automatiskt av Open vid round trip av en befintlig arbetsbok. Lämna tom när en länk byggs från grunden; Excel löser bladnamnen nästa gång den externa filen öppnas |
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 medlemmar
| 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 |
Ta bort en länk via mål, ta bort en länk via 0-baserat index eller rensa hela samlingen |
| 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
Exempel
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;
Se även