有没有办法在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 中突出显示的数据

r语言write.xlsx在哪个包

为啥我不能使用 write.xlsx 追加 [重复]

使用write.xlsx将数据框写入R中的excel时如何以粗体打印顶行

openxlsx 货币风格 - 有舍入选项吗?