Не уверен, в каком формате вы хотите загрузить выбранные строки, но вот пример, хранящий CSV-файл, основанный на выборе (вам нужна кнопка download):
library(shiny)
library(shinyalert)
library(shinydashboard)
header <- dashboardHeader(title = 'title')
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem('dashboard', tabName = 'dashboard', icon = icon('dashboard'))
)
)
body <- dashboardBody(
fluidPage(fluidRow(
column(2,
downloadButton("downloadData", "Download Selected Rows", icon = icon("download"),
style="color: #333; background-color: #FFF; border-color: #333")),
useShinyalert(),
column(2,
actionButton(inputId = "run", label = "Write Selected Rows to SQL", icon = icon("paper-plane"),
style="color: #333; background-color: #FFF; border-color: #333")),
useShinyalert()
)),
p(),
box(
title = 'box', width = NULL, status = 'primary',
DT::dataTableOutput('table2')
)
)
ui<-dashboardPage(header, sidebar, body)
server = function(input, output) {
output$table2 = DT::renderDataTable(
iris, options = list(lengthChange = FALSE)
)
output$downloadData <- downloadHandler(
filename = function() {
paste0(gsub(" ","_", gsub(":",".", Sys.time())),".csv")
},
content = function(file) {
write.table(iris[input$table2_rows_selected,], file, row.names = FALSE)
}
)
}
shinyApp(ui, server)