我最近注意到,当我使用 openxlsx 包创建 excel 工作簿时,它会生成一个默认列宽为 10.71 的电子表格,而不是我们通常在 excel 中获得的通常的 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
的默认参数在帮助函数 ?setColWidth
中可以看到实际上是 8.43 .所以可能还有另一个原因在这里干扰。openxlsx_getOp("minWidth")
是什么意思给?默认值为 3,但也许您将其更改为 10.71?
如果您不是从头开始创建工作簿而是在现有文件中读取,这也可以解释差异(如果读取的文件的宽度为 10.71)。
更新:我可以使用列宽为 10.71 而不是 8.43 的默认设置来确认问题。所以我的建议是在此处的开发者页面上打开一个错误:https://github.com/ycphs/openxlsx/issues
关于r - 在 R 中使用 openxlsx 包更改默认列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70936734/