gpt4 book ai didi

r - 通过 XLConnect 从 R 更改 MS Excel 文件中的单元格格式

转载 作者:行者123 更新时间:2023-12-04 21:15:40 26 4
gpt4 key购买 nike

尝试对 MS Excel 中的单元格进行简单更改来自 R 的表格通过 XLConnect .

特别是使第一行加粗。我从快速搜索中看到的是,您可以在 Excel 中定义一种样式,然后将其导入到 R 中,但此选项不适合我,因为我所做的所有更改都必须可以通过 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 的技术问题.

编辑 :我知道如何更改单元格的背景颜色,并假设可以使用类似的方法将字体更改为粗体:
cs.tr <- createCellStyle(wb)
setFillForegroundColor(cs.tr, color = XLC$"COLOR.WHITE")
setCellStyle(wb, sheet = "foo", row = 1, col = 1:2,
cellstyle = cs.tr)

最佳答案

有一个小工作可以解决这个问题。创建一个"template"Excel 电子表格并创建您感兴趣的单元格样式。例如,在 Excel 中,我创建了一个名为 my.header 和 my.table 的新单元格样式。 my.header 是 11 pt 粗体 Calibri,而 my.regular 是 10 pt Calibri。将此 Excel 文件(“myExcel.xlsx”)保存在有用的地方。

然后在 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")

我克隆了电子表格选项卡,这样我也可以将查看缩放设置为我最喜欢的缩放级别……您可能不必这样做。

关于r - 通过 XLConnect 从 R 更改 MS Excel 文件中的单元格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42658028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com