使用格式将列值写入 R 中的 Excel 电子表格

Write column values to an Excel spreadsheet in R with formatting

提问人:Hack-R 提问时间:6/11/2014 最后编辑:jbaumsHack-R 更新时间:6/12/2014 访问量:786

问:

我正在尝试使用该包读取模板的样式(格式),然后将数据从数据帧写出到具有相同格式的 .xlsx 文件中。我正在遵循我可以从包的 Wiki 中找到的最接近的例子。xlsx

问题是,当尝试从我的数据帧写入数据时,它以 NULL 的形式出现,尽管我尝试编写的列的类与 Wiki 中的示例匹配,我的语法也是如此。

head(fer_sheet1[,1])

# [1] "HXXX3691X" "HXXX3789X" "HXXX3759X" "HXXX37350" "HXXX3722X" "HXXX3719X"

class(fer_sheet1[,1])

# [1] "character"

Final_Report_Formatted <- createWorkbook()
Contact_List <- createSheet(Final_Report_Formatted, "Contact List")
Contact_List_rows <- createRow(Contact_List, rowIndex = 1:43)
Contact_List_cells <- createCell(Contact_List_rows, 
                                 colIndex=1:length(fer_sheet1))
mapply(setCellValue, Contact_List_cells[1:43, 1], fer_sheet1[, 1])

# $`1`
# NULL
# 
# $`2`
# NULL
# 
# $`3`
# NULL

依此类推,一直到:

# $`41`
# NULL
# 
# $`42`
# NULL
# 
# $`43`
# NULL

我可以在没有包的情况下轻松做到这一点,但想法是继续使用他们的包,以便我可以在用数据填充模板工作簿后应用模板工作簿中的格式。xlsx

有趣的是,我还使用内置数据取回 NULL 值,如示例所示:month.name

mapply(setCellValue, Contact_List_cells[1:12, 1], month.name)  
R Excel xlsx mapply

评论

0赞 IRTFM 6/11/2014
我没有看到任何关闭/保存工作簿命令。通常,这种操作就像将图形图写入文件一样......它需要一个完成函数。在这种情况下,这将是saveWorkbook
0赞 Hack-R 6/11/2014
哇!你是对的!想把它变成一个答案吗?

答:

1赞 IRTFM 6/12/2014 #1

我没有看到任何关闭/保存工作簿命令。通常,这种操作就像将图形图写入文件一样......它需要一个完成函数。在这种情况下,这将是:

saveWorkbook(Final_Report_Formatted, "myChosenWBName.xlsx")