2016-10-18 8 views
1

У меня есть требование предоставить пользователям возможность загрузить файл в формате .csv/.txt или .xlsx.R shiny csv или опция загрузки excel

Я использую пакет XLSX и предоставил радиокнопку на моем UI, такие как

ui <- dashboardPage(
    dashboardHeader(title = "SKU Health Check App"), 
    dashboardSidebar(
    width = 350, 
    radioButtons(
     "fileType_Input", 
     label = h4("Choose File type"), 
     choices = list(".csv/txt" = 1, ".xlsx" = 2), 
     selected = 1, 
     inline = TRUE 
    ), 
    fileInput(
     'file1', 
     h4('Upload Items List'), 
     accept = c(
     'text/csv', 
     'text/comma-separated-values,text/plain', 
     '.csv', 
     '.xlsx' 
    ) 
    ), 

и обрабатывать параметры в сервере, как

server <- function(input, output, session) { 

    # Get the upload file 
    get_item_list <- reactive({ 
    inFile <- input$file1 

    if (is.null(inFile)) { 
     return(NULL) } 

    if (input$fileType_Input == 1) { 
     read.csv(inFile$datapath, 
       header = TRUE, 
       stringsAsFactors = FALSE) 
    } else { 
     read.xlsx(inFile$datapath, 
       header = TRUE,sheetIndex = 1, 
       stringsAsFactors = FALSE) 
    } 
    }) 

Но я получаю сообщение об ошибке, как мой файл не читается даже с вариантом 1, который работал ранее без переключателя и при условии. Я не могу отлаживать, поскольку отладчик запускает блок кода сразу.

Может кто-то помочь, пожалуйста?

спасибо,

Манодж Агравал

ответ

1

Aargh ... Я просто не хватает "" в состоянии, если так оно должно быть

if (input$fileType_Input == "1") { 
     read.csv(inFile$datapath,