如何在R中从Excel文件中提取工作表名称

40

我已经在R中加载了一个工作簿并使用xlConnect读取了工作表,但我想知道是否有一种方法可以提取工作表的名称,比如放到一个向量中?

到目前为止,我的代码是:

dataIn<-loadWorkbook(file.path(filenames[1],sep=""))
lst = readWorksheet(dataIn, sheet = getSheets(dataIn), startRow=1, startCol=1, header=TRUE)

我想提取lst中表格的名称。


1
names(getSheets(dataIn)) 将会给你一个工作表名称列表。 - shantanu pathak
4个回答

74

另一个由RStudio团队开发的非常好的包是readxl。使用excel_sheets()函数很容易获取Excel表格的名称。

library(readxl)
path <- "path/to/your/file.xlsx"
excel_sheets(path = path)

8
我认为这应该是现今的第一选择。 - JanLauGe

27
你正在寻找getSheets
Returns all worksheet names in a workbook.

7
在"openxlsx"包中,有一个命令叫做"getSheetNames":
library(openxlsx)
path <- "path/to/your/file.xlsx"
getSheetNames(path)

0

这里有另一种可以考虑的方法:

library(RDCOMClient)
xlApp <- COMCreate("Excel.Application")
xlApp[["DisplayAlerts"]] <- FALSE
xlApp[["Visible"]] <- TRUE

path_To_Excel_File <- "D:/excel_File.xlsx"
xlWbk <- xlApp$Workbooks()$Open(path_To_Excel_File)
nb_Sheets <- xlWbk$Sheets()$Count()
sheets_Names <- character(nb_Sheets)

for(i in 1 : nb_Sheets)
{
  sheets_Names[i] <- xlWbk$Sheets(i)$Name()
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接