为什么在 R xlsx 中格式化 xlsm 不起作用?
Why doesn't formatting for xlsm in R xlsx work?
所以我正在尝试加载数据并将其写入 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=''))
}
有人看过吗?
因此默认情况下,cellStyles 不会从工作簿继承。您必须明确定义格式:
cs2 = CellStyle(模板) + 字体(模板, 颜色="blue")
所以我正在尝试加载数据并将其写入 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=''))
}
有人看过吗?
因此默认情况下,cellStyles 不会从工作簿继承。您必须明确定义格式:
cs2 = CellStyle(模板) + 字体(模板, 颜色="blue")