为什么';R xlsx工作中xlsm的t格式?

为什么';R xlsx工作中xlsm的t格式?,r,xlsx,xlsm,R,Xlsx,Xlsm,因此,我试图加载数据并将其写入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 = l

因此,我试图加载数据并将其写入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=''))
}

有人看到过吗?

因此默认情况下,单元格样式不会从工作簿继承。必须明确定义格式:


cs2=CellStyle(template)+Font(template,color=“blue”)

有一个打字错误。应该是temp,这是addDataFrame中的数据(我的编辑只是一个建议,不是批评……但我相信可读性对让读者看代码有影响,而缩进的细节是个人的事情(2对4,空格对制表符,如python),我认为未插入和未标记的代码可能很难看到出现问题的地方。如果您不喜欢它,请随时回滚编辑。)谢谢您,我试图在代码格式化程序中切换,但它一直将我踢出代码编写器。shift+tab也不起作用。是的,我也遇到过。在这个问题上,我通常不会“编写”代码:我使用我的R环境(emacs/ess对我来说,RStudio对很多人来说)来编写和测试运行代码,以便(1)缩进、突出显示和代码扩展像往常一样工作,减少打字错误;(2)我知道代码是最小的、独立的,没有与问题无关的错误干扰。当然,这是一种技巧,但我已经看到太多的问题缺少了括号、逗号等,这些问题只在SO编辑器中介绍,但仍然非常分散注意力。