r - 在 R 中使用 openxlsx 包更改默认列宽

标签 r excel xlsx openxlsx

我最近注意到,当我使用 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/

相关文章:

r - 如何在 valueBox shinydashboard 中格式化货币值?

python - 日期分类

excel - Dir() 对返回的文件的顺序有任何保证吗?

r - 如何制作一个函数,当输入相应的变量时返回一个值?

r - 为列表的每个元素创建一个单独的变量

javascript - 先进的 xlsx 电子表格格式

java - 如何在 Android/Java 中读取 Apache POI 中的 xlsx 文件

c# - 如何使用 NPOI 2.0 在 excel 2010+ 中保存

r - 如何将数据集转置为 R 中的特定方式

vba - Excel VBA 格式化范围