【发布时间】:2023-04-01 17:30:01
【问题描述】:
我想创建一个闪亮的应用程序来做两件事。首先它必须能够上传 XLS 文件,并且在用户可以添加一些列之后(在这种情况下,只是列“Tecnico”),但目前我不能这样做。一旦用户写入列的值并更新表,应用程序就会崩溃。
library(shiny)
library(readxl)
runApp(
list(
ui = fluidPage(
titlePanel("Use readxl"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose xlsx file',
accept = c(".xlsx")),textInput("tecnix","Tecnico"),
actionButton("go", "update")),
mainPanel(
tableOutput('my_output_data'))
)
),
server = function(input, output){
data1 <- reactive({
inFile <- input$file1
if (is.null(inFile)){return(NULL)}
isolate({
input$file1
my_data <- read_excel(inFile$datapath)
})
my_data
})
observeEvent(input$go, {
data1()$Técnico <- input$tecnix
})
output$my_output_data <- renderTable({data1()})
}
))
有什么想法吗?
非常感谢,
【问题讨论】:
-
查看here。您应该使用
reactiveVal()或reactiveValue()而不是reactive()
标签: r file-upload shiny