有没有办法在openxlsx的write.xlsx函数中将默认覆盖改为yes?

Is there a way to change the default overwrite to yes in the write.xlsx function of openxlsx?

一个新用户在 R Studio 中得到了 运行 报告的工作,但是报告是使用 openxlsx 版本 4.2.3 编写的,而新用户有 openxlsx V 4.2.4.在 4.2.3 中,write.xlsx 函数的默认行为是覆盖现有工作簿,在 4.2.4 中,默认行为是不覆盖现有工作簿。

有没有办法改变这种默认行为,或者我是否需要重新编写每个报告中的所有 write.xlsx 代码行以包含 overwrite = true?

谢谢。

一种选择是像这样重新定义 write.xlsx。下面的 reprex 首先创建一个示例文件,读取该文件,然后使用自定义 write.xlsx 再次写入它,我将 overwrite = TRUE 设置为默认值。结果没有抛出错误

library(openxlsx)

# Make an example file
write.xlsx(head(mtcars), "mtcars.xlsx")

foo <- read.xlsx("mtcars.xlsx")

write.xlsx <- function(x, file) openxlsx::write.xlsx(x, file, overwrite = TRUE)

write.xlsx(foo, "mtcars.xlsx")

reprex package (v2.0.0)

于 2021-07-09 创建