Documentação do HotXLS

Classes TXLSXHyperlinks / TXLSXHyperlink

Suporte de hiperligações numa TXLSXWorksheet. Cada entrada ancora uma única célula a um URL externo. SaveAs emite um bloco <hyperlinks> na folha de cálculo mais um ficheiro xl/worksheets/_rels/sheetN.xml.rels correspondente; Open resolve os destinos de relação de volta para a colecção. Declarado em lxHandleX

Declaração 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 TXLSXHyperlink

Row, ColCoordenadas de ancoragem de célula baseadas em 1
UrlURL externa. Escrito em sheetN.xml.rels com TargetMode="External" sheetN.xml.rels with TargetMode="External"
DisplayTexto de apresentação opcional mostrado pelo Excel em vez do URL. Corresponde ao atributo display em <hyperlink> display attribute on <hyperlink>
TooltipTooltip opcional mostrado quando o utilizador passa o rato sobre a célula. Corresponde ao atributo tooltip em <hyperlink> tooltip attribute on <hyperlink>

Declaração 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 TXLSXHyperlinks

Add(Row, Col, Url)Adiciona uma hiperligação apenas com um URL. Devolve o novo índice de entrada
Add(Row, Col, Url, Display)Adiciona uma hiperligação com texto de apresentação explícito
Add(Row, Col, Url, Display, Tooltip)Adiciona uma hiperligação com texto de apresentação e tooltip
AddInternal(Row, Col, Location, Display, Tooltip)Adiciona uma hiperligação âncora interna - salta para uma localização Sheet!Cell (por exemplo "Sheet2!A1") noutro ponto da pasta de trabalho. Não é gerada qualquer relação de rels da folha; o elemento <hyperlink> transporta um atributo location em linha. Use Worksheet.AddHyperlinkToCell(...) para o atalho habitual Sheet!Cell IndexOfCell(Row, Col) "Sheet2!A1") noutro local do livro. Não é gerada nenhuma relação rels de folha de cálculo; o elemento <hyperlink> element carries an inline location attribute. Use Worksheet.AddHyperlinkToCell(...) Devolve o índice baseado em 0 da hiperligação ancorada na coordenada de célula baseada em 1, ou -1 quando a célula não tem hiperligação
IndexOfCell(Row, Col)Devolve o objeto de hiperligação ancorado na célula, ou nil quando não existe nenhuma hiperligação -1 quando a célula não tem hiperligação
FindAt(Row, Col)Devolve o objeto de hiperligação ancorado na célula, ou nil when no hyperlink is present
DeleteAt(Row, Col)Elimina a hiperligação ancorada na célula e devolve True; returns False Elimina a hiperligação ancorada na célula e devolve True; devolve False quando não existe nenhuma hiperligação correspondente
DeleteInRange(Row1, Col1, Row2, Col2)Elimina todas as hiperligações cuja âncora esteja dentro do intervalo de células baseado em 1 e devolve o número removido. As coordenadas invertidas são aceites
Delete(Index)Elimina a hiperligação no índice de coleção baseado em 0 indicado
CountNúmero de hiperligações na folha de cálculo
Items[Index]Hiperligação no índice baseado em 0 indicado. Declarada como propriedade predefinida
ClearRemove e liberta todas as hiperligações

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;
    

Ver também