闪亮的R-更新数据帧的源脚本-在.jcall中出错

闪亮的R-更新数据帧的源脚本-在.jcall中出错,r,dataframe,import,shiny,xlsx,R,Dataframe,Import,Shiny,Xlsx,我正在尝试构建一个使用ggplot2可视化数据的闪亮应用程序。我希望应用程序能够适应作为.xlsx文件复制到dropbox文件夹的新数据 我编写了一个脚本来读取dropbox文件夹中的所有excel文件,并将它们转换为数据框(.Rda)。这个脚本工作得非常好,但当我试图从我的闪亮应用程序中获取它时,应用程序崩溃了。下面您可以找到我的应用程序、导入数据的脚本以及发生的错误 这是我的应用程序的一个示例: library(shiny) library(ggplot2) load("df.Rda")

我正在尝试构建一个使用ggplot2可视化数据的闪亮应用程序。我希望应用程序能够适应作为.xlsx文件复制到dropbox文件夹的新数据

我编写了一个脚本来读取dropbox文件夹中的所有excel文件,并将它们转换为数据框(.Rda)。这个脚本工作得非常好,但当我试图从我的闪亮应用程序中获取它时,应用程序崩溃了。下面您可以找到我的应用程序、导入数据的脚本以及发生的错误

这是我的应用程序的一个示例:

library(shiny)
library(ggplot2)

load("df.Rda")

ui <- bootstrapPage(
    actionButton(inputId = "button", label="Upload new Data"),
    plotOutput("plot")
)

server <- function(input, output) {

observeEvent(input$button,{
   source("PreparationServer.R")
})

output$plot <- renderPlot(
  ggplot(df, aes(City, Total.Inc.VAT))+
   geom_bar(stat="identity")
 )
}

也许可以尝试
source(“PreparationServer.R”,local=TRUE)
另外,请检查,或者您可以尝试使用
library(readxl)
此错误通常发生在读取无效的xlsx文件时,请检查此错误并尝试一下,它是读取excel数据的首选方法非常感谢您,我使用了
library(readxl)
现在它可以工作了!也许可以尝试
source(“PreparationServer.R”,local=TRUE)
另外,请检查,或者您可以尝试使用
library(readxl)
此错误通常发生在读取无效的xlsx文件时,请检查此错误并尝试一下,它是读取excel数据的首选方法非常感谢您,我使用了
library(readxl)
现在它可以工作了!
###Load required libraries
library(xlsx)

##########################################################################
## Load Excel Sheets as Data Frames 
files <- (Sys.glob("c:///Users/T400/Dropbox/HTM (1)/*.xlsx"))

listOfFiles <- lapply(files, function(x) read.xlsx(x, 
                                               sheetIndex = 1,
                                               colIndex = 1:19, 
                                               header=TRUE, 
                                               encoding = 'UTF-8'))

df <- as.data.frame(listOfFiles[1])

for(i in 2:length(listOfFiles)){
  df_temp <- as.data.frame(listOfFiles[i])
  df <- rbind(df, df_temp)
}

save(df, file="c://Users/T400/Dropbox/HTM (1)/df.Rda")

########################################################################## 
Warning: Error in .jcall: java.lang.IllegalArgumentException: Your 
InputStream was neither an OLE2 stream, nor an OOXML stream