2016-11-26 104 views
0

我試圖在(目前27K行長)的OutOfMemoryError(JAVA):Java堆空間

options(java.parameters = "-Xmx4g") ; 
library(XLConnect) ; 
writeWorksheetToFile("H:/R/myfile.xlsx",DataTable,sheet="Sheet1",startRow=row1,startCol=1,header=FALSE,rownames=FALSE) 

幾秒鐘後,我收到了錯誤的Excel表格的末尾添加10多個行

OutOfMemoryError(Java):Java堆空間

我該如何解決這個問題?不應該選項(java.parameters =「-Xmx4g」)工作?

+0

'不應該選擇......工作嗎?'...如果您嘗試執行的操作超出可用的堆空間,則不行。您使用的是什麼版本的Java(例如64位Java 8)? –

+0

使用'options(java.parameters =「-Xmx512m」)'它不起作用?對於字節較弱的數據,應該足夠了。如果你超過堆空間,也許它不被考慮的價值。嘗試使用jvisualvm或類似的工具來檢查內存是否在運行時被適當地配置 – davidxxx

+0

嘗試使用'java.parameters =「-Xmx8g」' –

回答

0

嘗試使用openxlsx包。我在使用XLConnect和Java時遇到了問題。

+0

我很喜歡XLconnect,但我放棄,因爲總是彈出非確定性錯誤。現在執行'm = matrix(c(1,2,3,4,5,6,7,8,9),3); writeWorksheetToFile(「H:/R/m.xlsx」,m,sheet =「Sheet1」,rownames = FALSE);'給我錯誤:ClassCastException(Java):org.apache.xmlbeans.impl.values.XmlComplexContentImpl can not be強制轉換爲org.openxmlformats.schemas.spreadsheet.xml.x2006.main.CTWorkbookPr'當然,如果我在另一個R上運行相同的代碼,它完美地工作。 – Carlo

+0

HI @DataMunger我試圖使用openxlsx,但收到錯誤「在Windows上嘗試installr :: install.rtools()」。如果我嘗試這樣做,我會收到一個更加神祕的「loadNamespace(name)中的錯誤:沒有名爲'installr'的包,我無法在包列表中找到這個rtools。我應該怎麼做才能用openslsx進行任何活動? – Carlo

+0

您可以在 setup_rtools {devtools} \t找到Rtools R Documentation Find rtools。 描述 要在Windows上構建二進制包,Rtools(可在http://cran.r-project.org/bin/windows/Rtools/找到)需要在路徑上。默認安裝過程不會添加它,所以這個腳本找到它(首先查看路徑,然後在註冊表中)。它還會檢查rtools的版本R. 使用 setup_rtools(緩存= TRUE,調試= FALSE) 的版本,這應該允許您安裝Rtools相匹配,然後你要善於去與openxlsx。 –

相關問題