- 加載R包
library(openxlsx)
- 寫一個保存為Excel表格的函數(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)建一個標題樣式
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)
# 計算并設置每一列的寬度
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)
}
- 保存導出
save_excel_with_style(mtcars, "mtcars.xlsx")
#前面為數(shù)據(jù)框名,后面為表格名