--- title: "xlsx2dfs: Reading/Writing Excel File Sheets from/to List of Data Frames" author: "Gwang-Jin Kim" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{"xlsx2dfs: Reading/Writing Excel File Sheets from/to List of Data Frames"} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) #devtools::use_mit_license() ``` This package is a wrapper for `openxlsx`. It reads entire excel files with all their sheets into a list of data frames (one data frame for each sheet, one list of data frame for one excel file). For creating an excel file, put together all your data frames into a list and give them names for the sheet titles. The `withNames()` function helps during the input by making it possible to alternate name and data frame. ```{r examples} #devtools::load_all() library(xlsx2dfs) df1 <- data.frame(genes = c("gene1", "gene2"), count = c(23, 50)) df2 <- data.frame(genes = c("gene3", "gene4"), count = c(100, 500)) # write one data frame on one sheet dfs2xlsx(withNames("first sheet", df1), "../inst/extdata/test_one_df.xlsx") # write more data frames into one file dfs2xlsx(withNames("first data frame", df1, "second data frame", df2), "../inst/extdata/test_two_dfs.xlsx") # or create a data frame list with the desired names # and print into xlsx file df.list <- list(`first data frame`=df1, `second data frame`=df2) # actually "withNames()" is superfluous ... dfs2xlsx(df.list, "../inst/extdata/test_two_dfs1.xlsx") # write one data frame into a file dfs2xlsx(list(`one data frame`=df1), "../inst/extdata/one_df.xlsx") # read-in excel file as a data frame list dfs.list <- xlsx2dfs("../inst/extdata/test_two_dfs1.xlsx") ```