尝试通过MS Excel
对来自R
的{{1}}工作表中的单元格进行简单更改。
具体使第一行加粗。我从快速搜索中看到的是,您可以在Excel中定义样式然后将其导入R但是此选项不适合我,因为我所做的所有更改都必须由XLConnect
脚本重现。
以下是使用R
创建的Excel
文件的示例:
XLConnect
使用require(XLConnect)
wb <- loadWorkbook("test.xlsx", create = TRUE)
createSheet(wb, name = "foo")
df <- data.frame(number = 1:4,
species = c("dog", "cat"))
writeWorksheet(wb, df, sheet = "foo", startRow = 1, startCol = 1)
saveWorkbook(wb)
包可能会更容易吗?我已经遇到xlsx
的技术问题。
编辑:我知道如何更改单元格的背景颜色,并假设类似的方法可用于将字体更改为粗体:
openxlsx
答案 0 :(得分:4)
这个问题有一个小问题。创建一个&#34;模板&#34; Excel电子表格并创建您感兴趣的单元格样式。例如,在Excel中,我创建了一个名为my.header和my.table的新单元格样式。 my.header是11磅大胆的Calibri,my.regular是10 pt Calibri。将此Excel文件(&#34; myExcel.xlsx&#34;)保存在有用的地方。
然后在R中,执行以下操作:
library(XLConnect)
wb <- loadWorkbook("myExcel.xlsx")
# bring excel styles in the spreadsheet into R
style.title <- getCellStyle (wb , "my.header")
style.normal <- getCellStyle (wb , "my.table")
# copy the first sheet in myExcel as a "template" for use in R
sheet_names <- getSheets(wb)
sheet_template <- sheet_names[1]
# do something useful in R
df<-mtcars
# now clone template as a new sheet (instead of creating it)
cloneSheet(wb, sheet_template, "newSheet")
writeWorksheet (wb , data = df , sheet ="newSheet" , startRow =1 , startCol =1 , header = TRUE )
setCellStyle(wb , sheet ="newSheet" , row =1 , col =1:dim(df)[2] , cellstyle =style.title)
saveWorkbook ( wb, "myNewExcel.xlsx")
我克隆电子表格标签,以便我也可以将观看缩放设置为我最喜欢的缩放级别......你可能不必这样做。