diff options
Diffstat (limited to 'cell.go')
| -rw-r--r-- | cell.go | 28 | 
1 files changed, 28 insertions, 0 deletions
| @@ -241,6 +241,34 @@ func (f *File) SetCellHyperLink(sheet, axis, link, linkType string) {  	xlsx.Hyperlinks.Hyperlink = append(xlsx.Hyperlinks.Hyperlink, hyperlink)  } +// GetCellHyperLink provides function to get cell hyperlink by given sheet index +// and axis. Boolean type value link will be ture if the cell has a hyperlink +// and the target is the address of the hyperlink. Otherwise, the value of link +// will be false and the value of the target will be a blank string. For example +// get hyperlink of Sheet1!H6: +// +//    link, target := xlsx.GetCellHyperLink("Sheet1", "H6") +// +func (f *File) GetCellHyperLink(sheet, axis string) (bool, string) { +	var link bool +	var target string +	xlsx := f.workSheetReader(sheet) +	axis = f.mergeCellsParser(xlsx, axis) +	if xlsx.Hyperlinks == nil || axis == "" { +		return link, target +	} +	for _, h := range xlsx.Hyperlinks.Hyperlink { +		if h.Ref == axis { +			link = true +			target = h.Location +			if h.RID != "" { +				target = f.getSheetRelationshipsTargetByID(sheet, h.RID) +			} +		} +	} +	return link, target +} +  // MergeCell provides function to merge cells by given coordinate area and sheet  // name. For example create a merged cell of D3:E9 on Sheet1:  // | 
