我正在将一个R数据帧写入.xlsx文件。
我希望某些细胞能够填充颜色。我在R中使用xlsx
包,我发现手册很难消化。这是一个简单的例子:
data(cars)
write.xlsx(cars, "cars.xlsx")
然后,我想填写dist
在20到25之间的单元格,例如
因为我只是使用write.xlsx
直接编写的数据框,所以我没有工作簿java对象。
因此,我认为?CellStyle
中的示例不会适用于此案例。
如果有一种简单的方法,例如,使用write.xlsx
的参数定义单元格样式,或者通过选择数据框中的单元格(即,不在java对象工作簿中),我会很高兴。
答案 0 :(得分:5)
您需要使用xlsx的低级API。请参阅CellStyle
函数中的示例。
wb <- createWorkbook()
sheet <- createSheet(wb, "Sheet1")
rows <- createRow(sheet, rowIndex=1)
cell.1 <- createCell(rows, colIndex=1)[[1,1]]
setCellValue(cell.1, "Hello R!")
cellStyle1 <- CellStyle(wb) +
Fill(backgroundColor="orange", foregroundColor="orange",
pattern="SOLID_FOREGROUND")
setCellStyle(cell.1, cellStyle1)
# Then save the workbook
saveWorkbook(wb, "filename.xlsx")
另请参阅addDataFrame函数以添加数据框,然后使用低级API处理单元格方面:
wb <- createWorkbook()
sheet <- createSheet(wb, sheetName="your nice sheet name")
addDataFrame(cars, sheet, row.names=FALSE)
# add manipulations here
saveWorkbook(wb, "filename.xlsx")