
Setting hyperlinks
setHyperlink-methods.RdSets hyperlinks for specific cells in a workbook.
Usage
# S4 method for class 'workbook,missing,character'
setHyperlink(object,formula,sheet,row,col,type,address)
# S4 method for class 'workbook,missing,numeric'
setHyperlink(object,formula,sheet,row,col,type,address)
# S4 method for class 'workbook,character,missing'
setHyperlink(object,formula,sheet,row,col,type,address)Arguments
- object
The
workbookto use- formula
A formula specification in the form Sheet!B8:C17. Use either the argument
formulaor the combination ofsheet,rowandcol.- sheet
Name or index of the sheet the cell is on. Use either the argument
formulaor the combination ofsheet,rowandcol.- row
Row index of the cell to apply the cellstyle to.
- col
Column index of the cell to apply the cellstyle to.
- type
Hyperlink type. See the corresponding "HYPERLINK.*" constants from the
XLCobject.- address
Hyperlink address. This needs to be a valid URI including scheme. E.g. for email
mailto:myself@me.org, for a URLhttps://www.somewhere.netor for a filefile:///a/b/c.dat
Details
Sets a hyperlink for the specified cells. Note that cellstyles for hyperlinks can be defined independently using
setCellStyle. The arguments are vectorized such that multiple hyperlinks can be set in one
method call. Use either the argument formula or the combination of sheet, row and col.
Author
Martin Studer
Mirai Solutions GmbH https://mirai-solutions.ch
Examples
if (FALSE) { # \dontrun{
# Load workbook (create if not existing)
wb <- loadWorkbook("setHyperlink.xlsx", create = TRUE)
# Create a sheet named 'mtcars'
createSheet(wb, name = "mtcars")
# Write built-in data set 'mtcars' to the above defined worksheet
writeWorksheet(wb, mtcars, sheet = "mtcars", rownames = "Car")
# Set hyperlinks
links <- paste0("https://www.google.com?q=", gsub(" ", "+", rownames(mtcars)))
setHyperlink(wb, sheet = "mtcars", row = seq_len(nrow(mtcars)) + 1, col = 1,
type = XLC$HYPERLINK.URL, address = links)
# Save workbook (this actually writes the file to disk)
saveWorkbook(wb)
# clean up
file.remove("setHyperlink.xlsx")
} # }