有没有办法在openxlsx的write.xlsx函数中将默认覆盖改成yes?
Posted
技术标签:
【中文标题】有没有办法在openxlsx的write.xlsx函数中将默认覆盖改成yes?【英文标题】:Is there a way to change the default overwrite to yes in the write.xlsx function of openxlsx? 【发布时间】:2021-09-19 18:16:15 【问题描述】:已为新用户分配了在 R Studio 中运行报告的工作,但报告是使用 openxlsx
版本 4.2.3 编写的,而新用户使用的是 openxlsx
V 4.2.4。在 4.2.3 中,write.xlsx
函数的默认行为是覆盖现有工作簿,在 4.2.4 中,默认行为是不覆盖现有工作簿。
有没有办法改变这个默认行为,或者我需要重写每个报告中的所有write.xlsx
代码行以包含overwrite = true?
谢谢。
【问题讨论】:
【参考方案1】:一种选择是像这样重新定义write.xlsx
。以下表示首先创建一个示例文件,读取该文件,然后使用自定义的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 创建
【讨论】:
以上是关于有没有办法在openxlsx的write.xlsx函数中将默认覆盖改成yes?的主要内容,如果未能解决你的问题,请参考以下文章
使用 openxlsx 在 R 中使用 write.xlsx 创建的 Excel 文件的密码保护
使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据