我正在制作一个闪亮的应用程序,它需要一个带有多个工作表的Excel作为输入。它与xlsx库和read.xlsx函数配合得很好。但是,它返回以下错误:
java.lang.IllegalArgumentException: Cell index must be >= 0
我现在已切换到gdata和read.xls,但每次运行模型时都会出现文件路径错误。
我想知道是否有人之前处理过这个问题,是否有任何简单的解决方案来解决这个问题。
编辑:
以下代码
library(shiny)
library(xlsx)
ui <- fluidPage(
fileInput("uploadFile", "XLSX file"),
verbatimTextOutput("summary")
)
server <- function(input, output) ({
dataset<-reactive({
inFile <- input$uploadFile
dat<-read.xlsx(inFile$datapath, 1)
return(dat)
})
output$summary <- renderText({summary(dataset())})
})
shinyApp(ui, server)
返回:
Error : package ‘rJava’ could not be loaded
如果我使用
library(shiny)
library(readxl)
ui <- fluidPage(
fileInput("uploadFile", "XLSX file"),
verbatimTextOutput("summary")
)
server <- function(input, output) ({
dataset<-reactive({
inFile <- input$uploadFile
dat<-read_excel(inFile$datapath, sheet = 1)
return(dat)
})
output$summary <- renderText({summary(dataset())})
})
shinyApp(ui, server)
我明白了:
Error: Missing file extension.
答案 0 :(得分:0)
我刚试过这个,它对我来说很好。
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)
})
}
)
)
另外,请看这个。