Я пытаюсь заменить данные на нескольких листах существующей книги 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"))
openxlsx
-пакет? если да: попробуйте: stackoverflow.com/questions/34172353/ - person Wimpel   schedule 03.12.2018