我使用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参数的占位符???
。