用xlsx导入一个大的Excel工作表

我使用xlsx包中的函数read.xlsxread.xlsx2从6.3 Mo Excel文件中导入几张Excel工作表。 它曾经工作,但现在我得到一个错误:

library(xlsx) data <- read.xlsx2(file = "file.xlsx", sheetName = "sheet1", encoding = "UTF-8", stringsAsFactors = FALSE, header = TRUE) Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, : java.lang.OutOfMemoryError: Java heap space 

我试图在加载rJava之前修改java.parameters ,但没有帮助:

 options(java.parameters = "-Xmx2048m") library(xlsx) 

我需要使用包xlsx (而不是XLConnectopenxlsx ),因为我需要上述函数的编码参数。

此外,我不想手动(或使用其他编程语言)将我的Excel工作表转换为.csv文件,因为我定期更新这些Excel工作表,我不想一直转换它们。

有没有人有一个想法如何解决?

我在macOS Sierra 10.12.1上使用R版本3.3.2和RStudio版本0.99.903。