Documentação do HotXLS

Classes TXLSXHyperlinks / TXLSXHyperlink

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 lxHandleX

Declaraçã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, Col1-baseado célula anchor coordinates
UrlExternal URL. Written para sheetN.xml.rels com TargetMode="External"
DisplayOptional display texto shown por Excel em place de URL. Maps para display attribute on <hyperlink>
TooltipOptional 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
CountNúmero de hiperlinks na planilha
Items[Index]Hyperlink no índice baseado em 0 informado. Declarado como a propriedade padrão
ClearRemove 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