R XLConnect样式不会持久存在

时间:2017-12-28 18:21:25

标签: r excel xlconnect

我在尝试使用数据格式化/样式化现有excel文件时遇到问题。 我想更改数字单元格的格式,添加背景颜色和边框。

 require(XLConnect)
 wb <- loadWorkbook("example.xlsx", create = FALSE)
 cs <- createCellStyle(wb)
 setDataFormat(cs, format = "###,##0")
 setFillBackgroundColor(cs, color = XLC$"COLOR.YELLOW")
 setBorder(cs, side = "all", type = XLC$"BORDER.THIN",
           color = XLC$"COLOR.BLACK")
 setCellStyle(wb, sheet = "PSNB", row = 24, col = 3, cellstyle = cs)
 saveWorkbook(wb)

运行上面的代码后,单元格没有背景颜色(黄色),数据格式保持不变。 当我双击单元格时,我可以看到背景颜色变为黄色,并且出现逗号(例如:100,000)。

非常感谢任何帮助!

我正在使用XLConnect 0.2-13

1 个答案:

答案 0 :(得分:0)

我认为您更愿意设置填充前景色而不是填充背景色。背景颜色通常仅与非实心填充图案一起使用(请参阅setFillPattern)。

以下内容可以满足您的需求:

require(XLConnect)
wb <- loadWorkbook("example.xlsx", create = FALSE)
cs <- createCellStyle(wb)
setDataFormat(cs, format = "###,##0")
setFillForegroundColor(cs, color = XLC$"COLOR.YELLOW")
setFillPattern(cs, fill = XLC$FILL.SOLID_FOREGROUND)
setBorder(cs, side = "all", type = XLC$"BORDER.THIN", 
          color = XLC$"COLOR.BLACK")
setCellStyle(wb, sheet = "PSNB", row = 24,col = 3, cellstyle = cs)
saveWorkbook(wb)

请注意使用setFillForegroundColorsetFillPattern代替setFillBackgroundColor