Tutoriál R/Export dat do MS Excelu
Z WikiSkript
Zadání[upravit | editovat zdroj]
Uložte vestavěný dataset mtcars do excelovské dabulky moje_tabulka_je_ted_v_excelu.xlsx.
Řešení[upravit | editovat zdroj]
## instaluji a loaduji balíček ------------------------------------------------
for(my_package in c(
"openxlsx"
)){
if(!(my_package %in% rownames(installed.packages()))){
install.packages(
my_package,
dependencies = TRUE,
repos = "http://cran.us.r-project.org"
)
}
library(my_package, character.only = TRUE)
}
## nastavuji handling se zipováním v R ----------------------------------------
#### !!! nutné předem nainstalovat Rtools z adresy
#### https://cran.r-project.org/bin/windows/Rtools/ ---------------------------
Sys.setenv(R_ZIPCMD = "C:/Rtools/bin/zip")
## ----------------------------------------------------------------------------
###############################################################################
## vytvářím sešit -------------------------------------------------------------
my_workbook <- createWorkbook()
## tohle jsou moje data, je to věstavěný dataset mtcars -----------------------
my_table <- mtcars
## vytvářím excelový list -----------------------------------------------------
addWorksheet(
wb = my_workbook,
sheetName = "můj první list"
)
## ukládám do listu data ------------------------------------------------------
writeData(
wb = my_workbook,
sheet = "můj první list",
rowNames = FALSE,
colNames = TRUE,
x = my_table
)
## nastavuji automatickou šířku sloupce ---------------------------------------
setColWidths(
wb = my_workbook,
sheet = "můj první list",
cols = 1:dim(my_table)[2],
widths = "auto"
)
## vytvářím dva své styly - jednak tučné písmo, jednak písmo zarovnané
## doprava v rámci buňky ------------------------------------------------------
my_bold_style <- createStyle(textDecoration = "bold")
right_halign_cells <- createStyle(halign = "right")
addStyle(
wb = my_workbook,
sheet = "můj první list",
style = my_bold_style,
rows = c(1:(dim(my_table)[1] + 1), rep(1, (dim(my_table)[2]))),
cols = c(rep(1, dim(my_table)[1] + 1), 1:(dim(my_table)[2])),
stack = TRUE
)
addStyle(
wb = my_workbook,
sheet = "můj první list",
style = right_halign_cells,
rows = 1:(dim(my_table)[1]),
cols = 2:(dim(my_table)[2] + 1),
gridExpand = TRUE,
stack = TRUE
)
## ukládám workbook -----------------------------------------------------------
saveWorkbook(
wb = my_workbook,
file = "moje_tabulka_je_ted_v_excelu.xlsx",
overwrite = TRUE
)