Проблемы с 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? Это мой первый раз.