函数xlsx::getCellStyle
不能按预期工作。关于THIS它应该返回一个Cellstyle Obj。然而它返回了类“rJava”的东西。因此我无法用它来更新Cellstyle。
所以在这个例子中,我们首先Fill
一个蓝色的单元格,然后我想稍后更新Cellstyle并向其添加Border
。 (我知道我可以一次添加两种样式。但这个问题是关于更新到现有的Cellstyle)
filename = "df.xlsx"
df <- data.frame(Var="Entry")
xlsx::write.xlsx(df,file = filename)
wb <- xlsx::loadWorkbook(filename)
sheets <- xlsx::getSheets(wb)
sheet <- sheets[[1]] # get specific sheet
rows <- xlsx::getRows(sheet) # get rows
cells <- xlsx::getCells(rows) # get cells
fillStyle <- xlsx::CellStyle(wb) + xlsx::Fill()
xlsx::setCellStyle(cells[[4]],fillStyle) #add fillstyle to cell with "Entry"
xlsx::saveWorkbook(wb,filename)
wb <- xlsx::loadWorkbook(filename)
sheets <- xlsx::getSheets(wb)
sheet <- sheets[[1]] # get specific sheet
rows <- xlsx::getRows(sheet) # get rows
cells <- xlsx::getCells(rows) # get cells
oldStyle <- xlsx::getCellStyle(cells[[4]])
newStyle <- oldStyle + xlsx::Border()
xlsx::setCellStyle(cells[[4]],newStyle)
xlsx::saveWorkbook(wb,filename)