R: Ошибка при замене данных в существующем отчете Excel - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь заменить данные в нескольких листах существующей рабочей книги Excel (есть несколько листов с формулами, которые остаются нетронутыми).Я использую пакет XLConnect для того же.Идея состоит в том, чтобы прочитать существующую рабочую книгу, очистить данные в необходимых листах, а затем записать в них новые кадры данных.После этого файл сохраняется как в качестве начальной версии, так и в качестве другой версии с датой.Однако выполнение синтаксиса saveWorkbook занимает много времени и в итоге выдает следующую ошибку Ошибка: OutOfMemoryError (Java): пространство кучи Java

Я установил rJava и также запустил следующее: options (java.parameters = "-Xmx2048m")

Есть ли альтернативный способ сделать это?

Ниже приведен код:

xlWb <- loadWorkbook("C:\\\\Users\\z003b1d\\Desktop\\Drop_Data_DB2_Template.xlsx")
wbnames <- as.vector(getSheets(xlWb)) ##sheetNames

очищает данные в существующем шаблоне

clearSheet(xlWb, sheet= c("Dept Var to Prior Day-FC RDC",           "Dept Var to Prior Day-BP UDC",    "Dept Var to Prior Day-BP",         "Dept Var to Prior Day - FC UDC",               "Drop_Data_DB2", "Forecasts"))

перезаписывает данные на необходимые листы

writeWorksheet(xlWb,list(i1= rdc_finalsorted, i2= udc_finalsorted, i3= rdc_bpr_finalsorted, i4= udc_fcs_finalsorted, i5= data, i6= forecast)  , sheet= c("Dept Var to Prior Day-FC RDC",     "Dept Var to Prior Day-BP UDC",            "Dept Var to Prior Day-BP",         "Dept Var to Prior Day - FC UDC",    "Drop_Data_DB2", "Forecasts"), startRow =1, startCol =1,  header= T, rownames = NULL)

сохраняет рабочую книгу

 saveWorkbook(xlWb,"C:\\\\Users\\z003b1d\\Desktop\\Drop_Data_DB2_Template.xlsx")

создает версию с сегодняшней датой

saveWorkbook(xlWb, paste0("C:\\\\Users\\z003b1d\\Desktop\\Drop_Data_DB2_",Sys.Date(),".xlsx"))
...