- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题以前有人问过R shiny dataTables with TableTools and other extensions和 Use TableTools for DataTables in R Shiny for renderDataTable但我目前正在努力让 TableTools 的演示从 Shiny 的应用程序下载 csv 或 xls。该按钮似乎可以工作,并且 csv/xls 选项可用,但没有任何反应。我唯一能想到的就是将数据表版本从 1.9.4 更新到 1.10.1,但仍然没有。除非我犯了一些愚蠢的错误,否则所有其他路径都是最新的。谢谢。
library(shiny)
library(ggplot2)
runApp(
list(ui = basicPage(
h1('Diamonds DataTable with TableTools'),
tagList(
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css',rel='stylesheet',type='text/css'))),
singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
),
dataTableOutput("mytable")
)
,server = function(input, output) {
output$mytable = renderDataTable({
diamonds[,1:6]
}, options = list(
"sDom" = 'T<"clear">lfrtip',
"oTableTools" = list(
"sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
"aButtons" = list(
"copy",
"print",
list("sExtends" = "collection",
"sButtonText" = "Save",
"aButtons" = c("csv","xls")
)
)
)
)
)
})
)
最佳答案
在倾注了这个之后,我发现了我最初的错误。令人尴尬的是,主要问题是我试图直接从 Shiny 应用程序的 rstudio 启动中保存。从那以后我才知道这是不可能的,因为 rstudio 没有 flash。因此,最初的解决方案是简单地运行该应用程序,然后在安装了 flash 的浏览器中打开它。然后保存按钮正常工作,我可以保存过滤后的数据集。
但是,在我努力的过程中,我发现了一些其他人可能会觉得有用的简化方法。
shiny 的下一个版本将使用更新的 1.10.2 DataTables。您可以从 github page 下载当前开发版本.这允许在更新其他源文件的链接后省略 zeroclipboard 文件。下面是我发现在浏览器中使用最新的 shiny 包打开时有效的最终代码。请注意,由于 DataTables 1.10.x 已转换为驼峰命名法,因此符号略有变化。发现了旧符号的转换 here .
library(shiny)
library(ggplot2)
runApp(
list(ui = basicPage(
h1('Diamonds DataTable with TableTools'),
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdn.datatables.net/tabletools/2.2.2/js/dataTables.tableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/tabletools/2.2.2/css/dataTables.tableTools.css',rel='stylesheet',type='text/css'))),
singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
),
dataTableOutput("mytable")
)
,server = function(input, output) {
output$mytable = renderDataTable({
diamonds[,1:6]
}, options = list(
"dom" = 'T<"clear">lfrtip',
"oTableTools" = list(
"sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
"aButtons" = list(
"copy",
"print",
list("sExtends" = "collection",
"sButtonText" = "Save",
"aButtons" = c("csv","xls")
)
)
)
)
)
})
)
编辑
从 DT 0.1.5x 开始,界面随着 TableTools 的更新而改变。您现在使用 Buttons 扩展。 注意 - 这仍然 (3/29/16) 需要用户从 github 安装直到作者认为更新足以推送到 CRAN。
library(shiny)
library(DT)
library(ggplot2)
runApp(
list(ui = basicPage(
h1('Diamonds DataTable with DT'),
dataTableOutput("mytable")
)
,server = function(input, output) {
output$mytable = renderDataTable({
diamonds[,1:6]
},
extensions = 'Buttons',
options = list(
"dom" = 'T<"clear">lBfrtip',
buttons = list('copy', 'csv', 'excel', 'pdf', 'print')
)
)
})
)
关于r - 从 Shiny renderDataTable 保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554068/
我试图只显示表格中所有数据的两位小数,并将所有内容集中对齐。第一列是国家,其余是数字。这是代码 output$Composite % formatRound(c(3:9), 2) Documentat
我转载了由Yihui Xie(https://yihui.shinyapps.io/DT-rows/)编写的示例 Shiny 应用程序。该应用程序使用DT::renderDataTable()允许选择
我正在尝试减小 renderDataTable 中的字体大小,但找不到任何控制字体大小的示例。我读过可以通过 jquery 控制它,但我找不到任何示例。任何指导都会非常有帮助,因为我使用的是 Shin
我在 Shiny 中显示一个表格并想使用 renderDataTable 但它没有显示对我很重要的行名称。 renderTable 显示行名称很好,但看起来不太好。 我有: output$tab<-
我正在执行下面 DT github 页面上发布的一个非常小的 renderDataTable 示例 http://rstudio.github.io/DT/shiny.html library(shi
如何在 Shiny 中定义数据表的数字格式?我只想为某些列显示 2 位十进制数字,但不明白应该在我的应用程序中定义它。在 server.R 或 ui.R 中?在 server.R 中,这是我在 ren
我想在 renderDataTable 中使用 formatPercentage,rowname=FALSE。请参见下面的代码,方法 1 包含 formatPercentage,方法 2 包含 row
我有一个 renderDataTable Rstudio Shiny 中的表,我用一些列构建我想让标题变成多行,这样一个长的标题字符串需要少量的水平空间。例如。: 我的长标题栏被称为 a_very_l
这个问题以前有人问过R shiny dataTables with TableTools and other extensions和 Use TableTools for DataTables in
我正在制作一个 Shiny 的应用程序,但遇到了一个小而烦人的问题。我产生的部分输出是使用 DT::renderDataTable 输出的.只有两列,第一列的宽度将取决于输入数据集,所以我不想绝对固定
我正在尝试在我的 R Shiny 应用程序的表格上方添加下载按钮('copy'、'csv'、'excel'、'pdf'),但是在内部使用数据表时,renderDataTable 似乎不起作用。 out
是否有可以传递给 options 的选项名称(希望还有描述)的完整列表? renderDataTable() 的论据在 Shiny ? 我在在线示例中看到的选项名称似乎没有映射到 DataTables
我正在尝试在 Shiny 的应用程序中使用数据表进行单独的列搜索(选择输入) 点击此链接,http://www.datatables.net/examples/api/multi_filter_sel
我正在尝试使用 Shiny 创建一个表,用户可以在其中单击一行以查看有关该行的更多信息。我以为我明白如何做到这一点(见附上的代码)。 但是,现在只要用户单击“getQueue”操作按钮,observe
同时显示 Shiny 的数据表 output$tab1 6 ?", "'' + data.substr(0, 6) + '...' : data;", "}") ))), callb
所以我有了这张使用 ShinyDash 包制作的表格。鉴于记录数量较少,我想删除页码并只显示上一页/下一页。我还想删除左上角的框以选择每页的记录数,并将其默认为 5。 这是我当前的代码,尽管最后一行带
我发现很难找到一种方法来使用涉及另一列 B 的条件为列 A 中的单元格着色。 我发现包 (DT) 在单元格中形成了完美的背景,但无法根据涉及其他列的公式进行着色。 包(可格式化)执行涉及两列的条件,如
我在 Shiny 的应用程序中使用 renderDataTable 来创建数据表。我进一步使用服务器端的“选项”来添加扩展按钮,例如复制、保存、PDF 和 CSV。我想在屏幕上显示图标而不是按钮 这是
我可以像这样格式化数据表对象的列 library(DT) datatable(data.frame(Amount=c(1.00, 2.20, 4.15))) %>% formatCurrency(co
我正在尝试在我的 R Shiny 应用程序中添加分页、搜索框和选择器,但它现在不起作用(我尝试了 paging = TRUE 和 searching = TRUE,在选项中,您可以在下面看到,但它不起
我是一名优秀的程序员,十分优秀!