R语言保存数据框为Excel表格

  1. 加载R包
library(openxlsx)
  1. 写一个保存为Excel表格的函数
#设置一个保存表格函数
save_excel_with_style <- function(data_frame, file_name) {
  # 创建一个Arial字体的样式
  arial_style <- createStyle(fontName = "Arial", fontSize = 10,
                             halign = "center")
  # 创建一个标题样式
  title_style <- createStyle(fontName = "Arial", fontSize = 10, 
                            fontColour = "#FFFFFF", 
                            fgFill = "#4682b4",
                            halign = "center"
                            )
  # 创建工作簿和工作表
  wb <- createWorkbook(creator = "")
  addWorksheet(wb, "Sheet 1")
  # 写入数据
  writeData(wb, "Sheet 1", data_frame)
  # 计算并设置每一列的宽度
  for (col in seq_along(data_frame)) {
    max_width <- max(nchar(as.character(data_frame[[col]])), na.rm = T)
    # 计算列中最大字符长度
    setColWidths(wb, "Sheet 1", col, max(max_width, nchar(colnames(data_frame)[col])) + 2)
    # 设置列宽
  }
  # 应用样式到所有的单元格
  addStyle(wb, "Sheet 1", style = arial_style, 
           rows = 1:(nrow(data_frame) + 1), cols = 1:ncol(data_frame), gridExpand = T)
  # 应用样式到标题行
  addStyle(wb, "Sheet 1", style = title_style, 
           rows = 1, cols = 1:ncol(data_frame), gridExpand = T)
  # 设置冻结窗格
  freezePane(wb, "Sheet 1", firstRow = T) 
  # 保存工作簿
  saveWorkbook(wb, file_name, overwrite = T)
}
  1. 保存导出
save_excel_with_style(mtcars, "mtcars.xlsx")
#前面为数据框名,后面为表格名
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容