这个问题有一段时间,但我和你有同样的问题,并想出了一个值得一提的解决方案。有一个名为writexl的包实现了一种使用C库libxlsxwriter将数据框导出到 Excel 的方法。您可以使用以下代码导出到 excel:
library(writexl)
writexl::write_xlsx(df, "Excel.xlsx",format_headers = TRUE)
参数format_headers仅适用于中心和粗体标题,但我在ropensci制作的github writexl库中编辑了其源代码的C代码。您可以下载或克隆它。在src文件夹中,您可以编辑write_xlsx.c文件。
例如在他插入标题格式的部分
//如何格式化标题(粗体+中心)
lxw_format * 标题 = workbook_add_format(workbook);
格式设置粗体(标题);
格式设置对齐(标题,LXW_ALIGN_CENTER);
您可以添加此行以将背景颜色添加到标题
format_set_pattern(标题,LXW_PATTERN_SOLID);
format_set_bg_color(标题,0x8DC4E4);
您可以在libxlsxwriter库中搜索很多格式
当您完成编辑该文件并在名为writexl的文件夹中拥有源代码时,您可以通过以下方式构建和安装编辑后的包
shell("R CMD build writexl")
install.packages("writexl_1.2.tar.gz", repos = NULL)
使用第一块代码再次导出将生成具有格式的 Excel,并且比我知道的任何其他库都快。
希望这可以帮助。