I‘sa data.table:。
> aDT <- data.table(colA = "apple", colB = "banana", colC = "4")
> aDT
colA colB colC
1: apple banana 4我需要将这个表写入xlsm中的工作表(它有宏)。
已经尝试过几种方法来连接到xlsm。都失败了。
# Method 1
require(XLConnect)
wb <- loadWorkbook(filename = "sample.xlsm", create = FALSE)
Error: OutOfMemoryError (Java): Java heap space
# Method 2
require(openxlsx)
wb <- loadWorkbook(xlsxFile = "sample.xlsm")
Error in grepl(target, commentsXML) : invalid 'pattern' argument
# Method 3
require(openxlsx)
wb <- loadWorkbook(file = "sample.xlsm")
Error in grepl(target, commentsXML) : invalid 'pattern' argument然后,我尝试在另一个新的xlsm上使用相同的代码,它们都起作用了。
我的"sample.xlsm“中的一些问题(不确定它们与问题有何关系)
问题:如何解决它?或者其他将数据写入xlsm的替代方法?
我找到了一些其他的帖子,但它们要么不是为我的问题工作,要么就是过时了。提前谢谢。
发布于 2022-06-22 08:37:30
您的文件相当大,我可能会在R中进行更多的分析,并将更现成的数据导出到Excel中,或者将数据加载到数据库中,并将数据直接从数据库加载到Excel中。
也就是说,在您的方法1中,您需要在加载包之前指定为rJava ( XLConnect所依赖的)提供了多少内存。因此:
options(java.parameters = "-Xmx22000m")您可能没有足够的内存用于此,但这就是您获得此错误消息的原因。
https://stackoverflow.com/questions/47897319
复制相似问题