我在尝试使用数据格式化/样式化现有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
答案 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)
请注意使用setFillForegroundColor
和setFillPattern
代替setFillBackgroundColor
。