在https://jrowen.github.io/rhandsontable/中,给出了如何使用hot_context_menu
的customOpts
参数添加“下载到CSV”条目的示例,该条目将以CSV格式保存表。
library(rhandsontable)
MAT = matrix(rnorm(50), nrow = 10, dimnames = list(LETTERS[1:10],
letters[1:5]))
rhandsontable(MAT, width = 550, height = 300) %>%
hot_context_menu(
customOpts = list(
csv = list(name = "Download to CSV",
callback = htmlwidgets::JS(
"function (key, options) {
var csv = csvString(this, sep=',', dec='.');
var link = document.createElement('a');
link.setAttribute('href', 'data:text/plain;charset=utf-8,' +
encodeURIComponent(csv));
link.setAttribute('download', 'data.csv');
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}"))))
由于我对JS完全没有经验,我很难只选择特定的列进行导出。例如上面示例中的列1、3和5。谢谢你,谢谢!
编辑:有趣的是,chatGPT给了我一个可行的解决方案。但我还是有兴趣去看一个人。
1条答案
按热度按时间kwvwclae1#
要保存特定列,可以使用以下JS代码扩展
customOpts
:代码中的注解指示添加的行的作用。