包readxl
install.packages('readxl',repois='https://mirrors.utsc.edu.cn/CRAN/)
library(readxl)
# read_excel()自動識別xls/xlsx
# read_xls()讀取xls
# read_xlsx()讀取xlsx
data <- read_xlsx("d:/data/ch01.xlsx",na="NA")
包xlsx
依賴rJava
,需要JAVA環境(JDK或JRE)
install.packages('xlsx',repois='https://mirrors.utsc.edu.cn/CRAN/)
library(xlsx) #一般會報錯
- 一般地,如果Windows系統中已經安裝了JDK或JRE,32位的用32位的R,64位的用64位的R,不會報錯。
- JRE的jvm.dll位於/bin/client文件夾中。JDK的位於/JRE/server文件夾中。有人建議將jvm.dll所在的文件夾加入系統路徑,如下操作(本計算機中已經安裝了JRE1.8.0_131(32位),jvm.dll位於"client"文件夾中):
我的計算機-右鍵-高級系統設置-環境變量,編輯“系統變量”中的Path,在前面加入"C:\Program Files (x86)\Java\jre1.8.0_131\bin\client;"
- JDK包含了JRE!
- JDK(Java SE)下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html - JRE(Java SE Runtime Environment)下載
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
加載xlsx
報錯處理
- 彈出"無法啟動此程序,因為計算機中丟失 jvm.dll。嘗試重新安裝該程序以解決此問題。"
是因為在R文件前加入了類似如下的語句
Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jre1.8.0_131/bin')
- "No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures"
用了64為的R調用32位的JAVA!用32位的R,一切正常。