knitr::opts_chunk$set(echo = TRUE, eval = TRUE, tidy = TRUE, highlight = TRUE, warning = FALSE, error = FALSE, message = FALSE, include = TRUE,fig.width = 9.4,fig.height = 4)
1、安装加载相关包
# install.packages('openxlsx') 加载包
library(openxlsx) # getSheetNames()、read.xlsx()
library(plyr) # ldply()
2、读取一个workbook的多个sheets
xlsxfile <- "/resources/rstudio/excel/excel1.xlsx" # 文件路径
readsheets <- function(file) {
sheetsnames <- getSheetNames(file)
ldply(sheetsnames, .fun = function(x) read.xlsx(xlsxFile = file, sheet = x))
}
readsheets(xlsxfile)
## rank name score
## 1 1 一 11
## 2 2 二 12
## 3 3 三 13
## 4 4 四 14
## 5 5 五 15
## 6 6 六 16
## 7 7 七 17
## 8 8 八 18
## 9 9 九 19
3、读取一个文件夹下的多个workbooks中的多个sheets
readwks <- function(file) {
filenames <- list.files(path = file, pattern = "*.xlsx", full.names = TRUE)
ldply(filenames, .fun = readsheets)
}
readwks("/resources/rstudio/excel")
## rank name score
## 1 1 一 11
## 2 2 二 12
## 3 3 三 13
## 4 4 四 14
## 5 5 五 15
## 6 6 六 16
## 7 7 七 17
## 8 8 八 18
## 9 9 九 19
## 10 11 十一 21
## 11 12 十二 22
## 12 13 十三 23
## 13 14 十四 24
## 14 15 十五 25
## 15 16 十六 26
## 16 17 十七 27
## 17 18 十八 28
## 18 19 十九 29