我尝试使用Rshiny中的renderTable函数生成一个表,然后使用downloadHandler函数将该表/data.frame下载为csv文件。不知何故,我一直得到以下错误:
下载期间发生错误:下载0303 bd 426 fce 88837 ae 277 aa 3b 406 dd时出错/download/downloadData?w= -服务器回复:内部服务器错误
下面是一个示例代码,我生成了一个简单的 Dataframe ,并尝试使用downloadHander下载它:
library(shiny)
# Define UI for data download app ----
ui <- fluidPage(
# App title ----
titlePanel("Downloading Data"),
# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Button
downloadButton("downloadData", "Download")
),
# Main panel for displaying outputs ----
mainPanel(
tableOutput("table")
)
)
)
# Define server logic to display and download selected file ----
server <- function(input, output) {
# Table of selected dataset ----
output$table <- renderTable({
data.frame(a =c(1,2,3),b=c("q","s","f"))
})
# Downloadable csv of selected dataset ----
output$downloadData <- downloadHandler(
filename = function() {
paste("test.csv")
},
content = function(file) {
write.csv(output$table, file, row.names = FALSE)
}
)
}
shinyApp(ui,server)
2条答案
按热度按时间vof42yt11#
这里有几件事需要做:
1.如果你的应用要动态呈现数据,那么你的数据应该被分配给某个
reactive
表达式。reactive
表达式。尝试以下操作:
3z6pesqy2#
您不能导出renderTable{},因为这会将许多元素放入HTML中,您需要预先保存进入表中的数据并单独导出。