Проблемы с XLConnect writeWorksheet

Я пытаюсь записать числовой массив в диапазон на листе Excel с помощью XLConnect.

Вот эти строки:

wb = XLConnect::loadWorkbook(input$TestFile$datapath, create = FALSE, password = NULL)
assign("wb",wb,envir=Env)

# Bunch of calculations happen here

XLConnect::writeWorksheet(Env$wb,Env$Var$Val,sheet = "SheetName", startRow = startRow, startCol = 1)

Исходная ошибка:

Error during wrapup: unable to find an inherited method for function ‘writeWorksheet’ for signature ‘"character", "numeric", "missing"’

Я догадался, что проблема заключалась в последнем аргументе, возвращающем "отсутствующий". После расследования я увидел, что Env$wb был расположен во временном местоположении, например \AppData\\Local\\Temp\\Rtmp4WP5Gh/6e6a1ece80898bef27b4580b/0,

В режиме прерывания я попытался заменить Env$wb строкой фактического местоположения файла, сконструированной как:

paste(normalizePath(dirname(getwd())),"/",input$TestFile$name,sep = "")

Так что новый вход будет

XLConnect::writeWorksheet(paste(normalizePath(dirname(getwd())),"/",input$TestFile$name,sep = ""),Env$Var$Val,sheet = "SheetName", startRow = startRow, startCol = 1)

который возвращает ошибку

Error during wrapup: unable to find an inherited method for function ‘writeWorksheet’ for signature ‘"character", "numeric", "character"’

Есть ли что-то принципиально неправильное в моем подходе к работе с XLConnect? Это мой первый раз.

0 ответов

Другие вопросы по тегам