- 加載R包
library(openxlsx)
- 寫一個保存為Excel表格的函數(shù)
#設(shè)置一個保存表格函數(shù)
save_excel_with_style <- function(data_frame, file_name) {
# 創(chuàng)建一個Arial字體的樣式
arial_style <- createStyle(fontName = "Arial", fontSize = 10,
halign = "center")
# 創(chuàng)建一個標(biāo)題樣式
title_style <- createStyle(fontName = "Arial", fontSize = 10,
fontColour = "#FFFFFF",
fgFill = "#4682b4",
halign = "center"
)
# 創(chuàng)建工作簿和工作表
wb <- createWorkbook(creator = "")
addWorksheet(wb, "Sheet 1")
# 寫入數(shù)據(jù)
writeData(wb, "Sheet 1", data_frame)
# 計算并設(shè)置每一列的寬度
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)
# 設(shè)置列寬
}
# 應(yīng)用樣式到所有的單元格
addStyle(wb, "Sheet 1", style = arial_style,
rows = 1:(nrow(data_frame) + 1), cols = 1:ncol(data_frame), gridExpand = T)
# 應(yīng)用樣式到標(biāo)題行
addStyle(wb, "Sheet 1", style = title_style,
rows = 1, cols = 1:ncol(data_frame), gridExpand = T)
# 設(shè)置凍結(jié)窗格
freezePane(wb, "Sheet 1", firstRow = T)
# 保存工作簿
saveWorkbook(wb, file_name, overwrite = T)
}
- 保存導(dǎo)出
save_excel_with_style(mtcars, "mtcars.xlsx")
#前面為數(shù)據(jù)框名,后面為表格名
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。