0

我尝试了下面的代码来提供指向另一个文件的超链接

library(xlsx)

wb <- createWorkbook()
sheet1 <- createSheet(wb, "Sheet1")
rows <- createRow(sheet1, 1:10) # 10 rows
cells <- createCell(rows, colIndex=1:8) # 8 columns
links <- c("D://r datasets/sales data.xlsx")
names(links) <- c("hyperlinks")
for (row in 1:length(links)) {
  setCellValue(cells[[row,1]], names(links)[row])
  addHyperlink(cells[[row,1]], links[row])
}
saveWorkbook(wb, "links.xlsx")
shell.exec("links.xlsx")

但我收到错误

.jcall(cell, "V", "setHyperlink", link) 中的错误:java.lang.IllegalArgumentException:超链接地址必须是有效的 URI

4

1 回答 1

0

问题似乎出在空格上。替换links

links <- c("D:/rdatasets/salesdata.xlsx")

它有效。如果你真的需要这些空间,你应该能够将它们编码为%20,而且似乎 excel 可以计算出来。

links <- c("D:/r%20datasets/sales%20data.xlsx")
于 2016-05-16T07:30:12.847 回答