将Cellstyle更新/添加到r xlsx中的现有内容

时间:2017-10-25 14:08:50

标签: r excel apache-poi xlsx rjava

函数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)

0 个答案:

没有答案