Suporte a hyperlinks em um
TXLSXWorksheet. Cada entrada ancora uma única célula a uma URL externa. SaveAs emite um bloco
<hyperlinks> na planilha mais um arquivo
xl/worksheets/_rels/sheetN.xml.rels correspondente; Open resolve os destinos de relacionamento de volta para a coleção. Declarado em
lxHandleXDeclaração de TXLSXHyperlink
type
TXLSXHyperlink = class
constructor Create(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString);
function IsInternal: Boolean; // True when Location is set and Url is empty
property Row: Integer;
property Col: Integer;
property Url: WideString; // External URL (mutually exclusive with Location)
property Location: WideString; // Internal anchor, e.g. "Sheet2!A1"
property Display: WideString;
property Tooltip: WideString;
end;
Membros de TXLSXHyperlink
| Row, Col | 1-baseado célula anchor coordinates |
| Url | External URL. Written para sheetN.xml.rels
com TargetMode="External" |
| Display | Optional display texto shown por Excel em place de
URL. Maps para display attribute on
<hyperlink> |
| Tooltip | Optional tooltip shown quando user hovers
célula. Maps para tooltip attribute on
<hyperlink> |
Declaração de TXLSXHyperlinks
type
TXLSXHyperlinks = class
constructor Create;
destructor Destroy; override;
function Add(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
function Add(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
function Add(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
// Internal hyperlink — Location overload. No rels relationship.
function AddInternal(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer;
function IndexOfCell(ARow, ACol: Integer): Integer;
function FindAt(ARow, ACol: Integer): TXLSXHyperlink;
function DeleteAt(ARow, ACol: Integer): Boolean;
function DeleteInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXHyperlink; default;
end;
Membros de TXLSXHyperlinks
| Add(Row, Col, Url) | Adiciona um hyperlink com apenas uma URL. Retorna o índice da nova entrada |
| Add(Row, Col, Url, Display) | Adiciona um hyperlink com um texto de exibição explícito |
| Add(Row, Col, Url, Display, Tooltip) | Adiciona um hyperlink com texto de exibição e dica de ferramenta |
| AddInternal(Row, Col, Location, Display, Tooltip) | Adiciona um hyperlink âncora interno — salta para um local Sheet!Cell (por exemplo, "Sheet2!A1") em outro ponto da pasta de trabalho. Nenhum relacionamento rels de worksheet é gerado; o elemento
Sheet!Cell location (e.g
"Sheet2!A1") em outro lugar da pasta de trabalho. Nenhum relacionamento rels
de planilha é gerado; o <hyperlink>
element carries an inline location attribute. Use
Worksheet.AddHyperlinkToCell(...) carrega um atributo location embutido. Use Worksheet.AddHyperlinkToCell(...) para o atalho típico |
| IndexOfCell(Row, Col) | Retorna o índice baseado em 0 do hiperlink ancorado na coordenada de célula baseada em 1, ou -1 quando a célula não tiver hiperlink -1 quando a célula não tem
hyperlink |
| FindAt(Row, Col) | Retorna o objeto hiperlink ancorado na célula, ou nil quando nenhum hiperlink estiver presente nil when no hyperlink is present |
| DeleteAt(Row, Col) | Exclui o hyperlink ancorado na célula e
retorna True; returns False Exclui o hyperlink ancorado na célula e retorna True; retorna False quando nenhum hyperlink correspondente existe |
| DeleteInRange(Row1, Col1, Row2, Col2) | Exclui cada hyperlink cuja âncora esteja dentro do intervalo de células inclusivo baseado em 1 e retorna a quantidade removida. Coordenadas invertidas são aceitas |
| Delete(Index) | Exclui o hyperlink no índice baseado em 0 especificado da coleção |
| Count | Número de hiperlinks na planilha |
| Items[Index] | Hyperlink no índice baseado em 0 informado. Declarado como a propriedade padrão |
| Clear | Remove e libera todos os hiperlinks |
Exemplo
var
ws: TXLSXWorksheet;
begin
ws := Workbook.Sheets.Add('Links');
ws.Cells.Item[1, 1].Value := 'losLab';
ws.AddHyperlink(1, 1, 'https://www.loslab.com',
'losLab home', 'Open in browser');
// Equivalent through the collection:
ws.Hyperlinks.Add(2, 1, 'https://www.loslab.com/docs');
if ws.Hyperlinks.FindAt(1, 1) <> nil then
ws.Hyperlinks.DeleteInRange(1, 1, 2, 1);
end;
Veja também