在列中创建所有行条目超链接(Excel文件在R中生成)

在列中创建所有行条目超链接(Excel文件在R中生成),r,excel,hyperlink,R,Excel,Hyperlink,不幸的是,许多人使用Excel并将其导出到xlsx非常重要。 我想产生“用户友好的数据输出”,有超链接 如何在R中生成包含两列的excel文件,其中第一列是超链接(所需链接在第三列中指定)。(这些都是演示数据) (在我的读取数据集和输出文件中,我需要大约10个这样的列“超级链接增强”)。 它必须是一个excel!HTML不会剪切它!(数据集为20k行,浏览器将冻结和滚动,列冻结很重要) 请参见此处的示例数据: library(dplyr) df<-select(iris,Species,S

不幸的是,许多人使用Excel并将其导出到xlsx非常重要。 我想产生“用户友好的数据输出”,有超链接

如何在R中生成包含两列的excel文件,其中第一列是超链接(所需链接在第三列中指定)。(这些都是演示数据)

(在我的读取数据集和输出文件中,我需要大约10个这样的列“超级链接增强”)。 它必须是一个excel!HTML不会剪切它!(数据集为20k行,浏览器将冻结和滚动,列冻结很重要)

请参见此处的示例数据:

library(dplyr)
df<-select(iris,Species,Sepal.Length)
library(stringr)
df$hyperlink <-str_c('http://species.org/',df$Species)

> df[49:54,]
      Species Sepal.Length                     hyperlink
49     setosa          5.3     http://species.org/setosa
50     setosa          5.0     http://species.org/setosa
51 versicolor          7.0 http://species.org/versicolor
52 versicolor          6.4 http://species.org/versicolor
53 versicolor          6.9 http://species.org/versicolor
54 versicolor          5.5 http://species.org/versicolor
库(dplyr)

df在
xlsx
包中有一种方法可以向单元格添加超链接。下面是如何使用for循环添加超链接

如果其他人知道如何在不使用for循环的情况下实现这一点(即,将整个向量添加为单元格列),那么效率会更高一些

library(xlsx)
wb <- createWorkbook()
sheet1 <- createSheet(wb, "Sheet1")
rows <- createRow(sheet1, seq_along(df$hyperlink)) 
cells <- createCell(rows, colIndex=1:2) # 2 columns
for (i in seq_along(cells[,1])){
  col1 <- cells[[i,1]]
  setCellValue(col1, df$Species[i])
  addHyperlink(col1,df$hyperlink[i])
  col2 <- cells[[i,2]]
  setCellValue(col2,df$Sepal.Length[[i]])
}
saveWorkbook(wb, file="workbook.xlsx") # Add your file path here
库(xlsx)

wb它在正确的道路上。结果应该只有两列。所以第1列的值应该是setCellValue(col1,df$Species),col1应该在第3列中有链接;此外,col2应该是萼片。Length@userJT编辑以反映正确的列值,并添加了屏幕截图。