使用 R 中的 openxlsx 包更改默认列宽

Changing default column width using openxlsx package in R

我最近注意到,当我使用 openxlsx 包创建 excel 工作簿时,它生成的电子表格的默认列宽为 10.71,而不是我们通常在 [=21= 中获得的通常的 8.43 ].例如,如果我 运行 以下代码创建了一个完全空白的 excel 电子表格,则所有列的宽度均为 10.71。

wb <- openxlsx::createWorkbook()
openxlsx::addWorksheet(wb, "Sheet 1")
openxlsx::saveWorkbook(wb, "Test File.xlsx", overwrite = TRUE)

有谁知道如何将默认列宽设置回标准 8.43?我知道我可以 运行 以下内容来更改列宽,但这是在电子表格上添加了额外的格式,一旦我拉入了更大的数据集,这将增加我的文件大小。这也意味着我的数据框中已导出到 excel 的列与数据右侧的列宽度不同(这看起来微不足道,但我想保持整洁如果可能的话)。

openxlsx::setColWidths(wb, "Sheet 1", cols = 1:ncol(df), widths = "8.43")

openxlsx::op.openxlsx 中似乎没有任何描述列宽的内容,这对我来说似乎有点奇怪。

如果这是一个愚蠢的问题,或者我遗漏了一些简单的东西,我深表歉意,但我无法在网上找到任何相关信息。

width 的默认参数实际上是 8.43,可以在帮助函数 ?setColWidth 中看到。所以可能还有另一个原因干扰了这里。

openxlsx_getOp("minWidth") 给出了什么?默认值为 3,但也许您将其更改为 10.71?

如果您不是从头开始创建工作簿而是读取现有文件,这也可以解释差异(如果 read-in 文件的宽度为 10.71)。


更新:我可以确认默认设置的列宽为 10.71 而不是 8.43 的问题。所以我的建议是在开发者页面上打开一个错误:https://github.com/ycphs/openxlsx/issues