R使用write.xlsx导出Excel时如何为所有使用单元格加边框并居中
R导出带边框、居中对齐Excel的实现方法
你需要使用openxlsx包完成样式自定义,该包无需额外Java环境依赖,以下是具体实现代码:
方法1:直接在write.xlsx中配置(简单快捷)
# 首次使用先安装包 # install.packages("openxlsx") library(openxlsx) # 定义全局样式 custom_style <- createStyle( halign = "center", valign = "center", border = "all", borderColour = "black" ) # 导出文件同时应用样式 write.xlsx( x = FinalOutput, file = "//user017/userslocal/aaaa/Documents/R Experiments/FinalOutput1.xlsx", headerStyle = custom_style, # 表头应用样式 borders = "all", borderColour = "black", firstRow = TRUE, colWidths = "auto" # 自动适配列宽,可自定义为固定数值如c(10,15,...) )
方法2:工作簿对象操作(样式控制更灵活)
适合后续需要调整局部样式、新增多工作表的场景:
library(openxlsx) # 1. 创建工作簿和工作表 wb <- createWorkbook() addWorksheet(wb, sheetName = "结果表") # 2. 写入数据 writeData(wb, sheet = "结果表", x = FinalOutput) # 3. 定义样式 custom_style <- createStyle( halign = "center", valign = "center", border = "all" ) # 4. 给所有被使用的单元格应用样式 # 行数计算:数据行数+1行表头;gridExpand=TRUE表示对选中的行列网格区域全部应用样式 addStyle( wb, sheet = "结果表", style = custom_style, rows = 1:(nrow(FinalOutput)+1), cols = 1:ncol(FinalOutput), gridExpand = TRUE ) # 5. 保存文件,overwrite=TRUE表示覆盖同路径已存在的文件 saveWorkbook(wb, file = "//user017/userslocal/aaaa/Documents/R Experiments/FinalOutput1.xlsx", overwrite = TRUE)
内容的提问来源于stack exchange,提问作者JeffWithpetersen
相关产品推荐
相关产品推荐

