Почему не работает форматирование для xlsm в R xlsx? - PullRequest
2 голосов
/ 18 октября 2019

Итак, я пытаюсь загрузить данные и записать их в xlsm, но форматирование, похоже, не работает. Он пишет строки без границ (хотя файл шаблона имеет форматирование), и я попытался заблокировать файл, чтобы предотвратить редактирование. Тем не менее не будет писать форматирование.

library(xlsx)
data = read.xlsx("my_data.xlsm", startRow=8)
pool_IDs = unique(data$Pay.pool.id)
for (i in pool_IDs) {
  temp = subset(data, Pay.pool.id==i)
  template = loadWorkBook('Template.xlsm')
  sheets = getSheets(template)
  sheet = sheets[[1]]
  cs1 = CellStyle(template) + Font(template)
  cs2 = CellStyle(template) + Font(template)
  cs3 = CellStyle(template) + Font(template) + Border()
  addDataFrame(temp, sheet, col.names=FALSE, row.names=FALSE, startRow=9,
               startColumn=1, colnamesStyle=cs2, rownamesStyle=cs1,
               colStyle=list('2'=cs2, '3'=cs2))
  print(paste("Processed pay pool", i)) 
  saveWorkbook(template, paste(i, ".xlsm", sep=''))
}

Кто-нибудь видел это?

1 Ответ

0 голосов
/ 18 октября 2019

Таким образом, стили cellStyles не наследуются по умолчанию из книги. Вы должны явно определить форматирование:

cs2 = CellStyle (шаблон) + шрифт (template, color = "blue")

...