gpt4 book ai didi

shiny - 在 Shiny 的应用程序中阅读 read_excel 中的特定工作表

转载 作者:行者123 更新时间:2023-12-05 01:43:34 25 4
gpt4 key购买 nike

我正在创建一个采用 Excel 文件并自动处理数据的 Shiny 应用程序。我希望用户输入他们想要查看的特定 Excel 工作表 的名称。为此,我无法找到在 UI 中使用 textInput 并在服务器中使用 input$filesheet 的方法。我的代码可能有助于更好地理解这个问题:

界面

fileInput('file1', 'Insert File',
accept = c(".xlsx"),
textInput('file1sheet','Name of Sheet (Case-Sensitive)')

服务器

inFile1 <- input$file1
sheetname1 <- input$file1sheet
df1 <- read_excel(inFile1$datapath,sheet = sheetname1)

问题是 sheetname1 似乎不起作用,因为 read_excel 无法将其识别为正确的表达式。我尝试了一些东西,包括 ShQuote 和 as.character。如果有人对此有解决方案,那就太棒了!

谢谢!

斯特凡

最佳答案

我已尝试了解您在寻找什么,但无法重现您的错误。但也许你可以看看下面的代码,看看你的代码在哪里失败了。以下应用程序让用户选择一个 .xlsx 文件,然后在显示相应表格之前检索工作表名称。

library(shiny)
library(readxl)

ui <- fluidPage(
fileInput('file1', 'Insert File', accept = c(".xlsx")),
textInput('file1sheet','Name of Sheet (Case-Sensitive)'),
tableOutput("value")
)

server <- function(input, output) {

sheets_name <- reactive({
if (!is.null(input$file1)) {
return(excel_sheets(path = input$file1$datapath))
} else {
return(NULL)
}
})

output$value <- renderTable({
if (!is.null(input$file1) &&
(input$file1sheet %in% sheets_name())) {
return(read_excel(input$file1$datapath,
sheet = input$file1sheet))
} else {
return(NULL)
}
})
}

shinyApp(ui, server)

关于shiny - 在 Shiny 的应用程序中阅读 read_excel 中的特定工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49032426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com