在.jnew错误中的write.xlsx错误和R中的j.check错误

我试图用write.xlsx写523370行和3列的数据框

write.xlsx(x = dataframe, file = "dataframe.xlsx", + sheetName = "dataframe1", row.names = FALSE) 

但我得到这个错误:

  Error in .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook") : Java Exception <no description because toString() failed>.jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook")<S4 object of class "jobjRef"> 

我检查这些问题:

  • 如何清除rJava使用的内存? : xlcFreeMemory() ,然后尝试写入文件,但经过相当长的时间后,我得到相同的错误
  • R使用XLSX包编写excel文件需要花费很长时间和错误 : write.xlsx2()给了我同样的错误,在运行这个之后: options(java.parameters = "-Xmx1024m")并重新启动系统

但是那改变了错误改为:

 Error in .jcheck(silent = FALSE) :Java Exception <no description because toString() failed>.jcall(row[[ir]], "Lorg/apache/poi/ss/usermodel/Cell;", "createCell", as.integer(colIndex[ic] - 1))<S4 object of class "jobjRef"> 

我有同样的问题,重新启动R做的伎俩。

如果您使用的是RStudio ,则重新启动R的按键快捷键为Ctrl + Shift + F10 (PC)或Command + Shift + F10 (Mac)。

如果问题仍然存在,可以使用read.csv() ,然后保存它和一个xlsx文件。