R Стиль 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


person Sachin    schedule 28.12.2017    source источник


Ответы (1)


Я думаю, вы скорее хотите установить цвет переднего плана заливки вместо цвета фона заливки. Цвета фона обычно нужны только в сочетании с не сплошными узорами заливки (см. 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.

person Martin Studer    schedule 30.12.2017