【发布时间】:2018-08-28 10:01:07
【问题描述】:
saveWorkbook() XLConnect 中的函数保存工作簿,更改和更新的计算在 excel 文件中可见,但在 R 中不可见(因为它的公式不被 apache poi 接受)
但是,为了查看单元格,我将文件保存到磁盘并使用另一个函数调用它。但是当我再次调用同一个文件时,计算字段仍然显示旧值。我不想每次在工作簿中进行更改时都保存 excel 文件。
您知道一种无需手动保存 Excel 即可调用新值的解决方法吗?
代码 -
options(java.parameters = "-Xmx1024m")
library(rJava)
library(XLConnect)
wb = loadWorkbook(file.choose(), create = TRUE)
readWorksheet(wb,16, region = 'D25:D26')
writeWorksheet(wb,-.45,sheet = 16,startRow = 25,startCol = 4)
setForceFormulaRecalculation(wb,sheet = 16, TRUE)
saveWorkbook(wb)
detach("package:XLConnect", unload=TRUE)
detach("package:XLConnectJars", unload=TRUE)
library(xlsx)
y = read.xlsx(file.choose(), sheetIndex = 16)
所以系统上的 Excel 文件显示了与新的 -.45 值对应的更改,但是当我再次读取文件时,计算的值是旧值而不是新值。如果我手动保存文件,这个问题就会得到解决。
【问题讨论】:
-
嗨 Anuj,你能提供一个可重现的例子吗?请检查:stackoverflow.com/help/how-to-ask
-
Anuj,请编辑您的帖子并使用代码格式将代码粘贴到那里
-
嘿,我这样做了,发错了,
-
@Rohit 你能帮忙吗?
-
尝试在
saveWorkbook命令中指定文件名