[英]Connect R and Excel
我想连接 Excel 和 R。我在 R 中做了一个可视化,数据取自 excel。 现在我想做的是,输入和输出应该在 excel 本身上。 因此,对于输入,excel 上的屏幕将是一个表格,用户必须填写表格。 该表将是 R 中可视化的输入,因此该表将在 R 中读取,输出将显示在 excel 中。 现在我知道如何将 R 的输出显示为 excel。 但我不知道如何在excel中做这个输入屏幕。
我的目标是用户不必打开 R,因为他们不会知道。 我希望 R 在后台。 我知道 RExcel 但它仍然必须给出一些命令。 是否可以这样做。
如果你们中的任何人可以提供帮助,那就太好了。 谢谢
这些选项之一应该可以帮助您前进。
library(shiny)
library(readxl)
runApp(
list(
ui = fluidPage(
titlePanel("Use readxl"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose xlsx file',
accept = c(".xlsx")
)
),
mainPanel(
tableOutput('contents'))
)
),
server = function(input, output){
output$contents <- renderTable({
inFile <- input$file1
if(is.null(inFile))
return(NULL)
file.rename(inFile$datapath,
paste(inFile$datapath, ".xlsx", sep=""))
read_excel(paste(inFile$datapath, ".xlsx", sep=""), 1)
})
}
)
)
或者
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.