R openxlsx没有正确格式化百分比



我使用openxlsx从R脚本写入数据帧到Excel。我使用的是r4.05(可能还有旧版本的openxlsx),下面的语句工作得很好:

options("openxlsx.numFmt" = "0.0%")
writeData(wb, "Sheet_1", df_tmp, startCol = 2, startRow = 16, rowNames = TRUE)

df_tmp(一个数据帧)将被写入电子表格,其中所有的数字都被格式化为百分比,小数点后有一位数字。在升级到R 4.2.1并更新所有包之后,完全相同的代码将df_tmp作为日期写入Excel !

在搜索了小插图并使用谷歌之后,我尝试将格式更改为

options("openxlsx.numFmt" = "PERCENTAGE")

但是这也不太管用——它现在将数据帧格式化为十进制!是否有一些东西,我错过或做错的选项,如果是这样,我需要做什么来写数据框Excel作为一个百分比。

如果它有任何帮助,当我将numFmt设置为NULL时,具有整数的数据帧可以正确写入,即

options("openxlsx.numFmt" = NULL)

真诚

托马斯·飞利浦

您是否尝试过以下替代方案(无论您在帖子中陈述的行为是否存在错误):

percent_style <- createStyle(numFmt = "0.0%")

addStyle(wb = wb,
sheet = "Sheet_1",
style = percent_style,
rows = 16:???,
cols = 2:???,
gridExpand = TRUE,
stack = TRUE)
writeData(wb, "Sheet_1", df_tmp, startCol = 2, startRow = 16, rowNames = TRUE)

查看addStyle中需要更改的rows/cols参数的占位符???

相关内容

  • 没有找到相关文章

最新更新