在R中提取Excel工作簿的工作表数量(不使用XLConnect)

13

我对R(和编程)相对较新。 我有一个包含36个工作表的Excel工作簿,但假设我不知道有多少个工作表,我希望我的代码能够帮我找到。我尝试过类似于:

options(java.parameters = "-Xmx6g")
library(XLConnect)
myWorkbook <- loadWorkbook(filename)
numberofsheets <- length(getSheets(myWorkbook))

虽然我将内存设置为6GB,但在使用XLConnect时仍然遇到内存错误,因此我想使用其他包(例如xlsx,openxlsx)。有没有一种方法可以在不使用XLConnect的情况下找出Excel工作簿中的表格数?

谢谢你的帮助。


1
@rosscova 的解决方案非常实用,因为您无需加载文件即可获取计数。使用 XLConnect,您可以执行 wbObj=xlsx::loadWorkbook("test.xlsx");numSheets = wbObj$getNumberOfSheets() - Silence Dogood
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Nate
2个回答

27

也许可以尝试:

library( readxl )
length( excel_sheets( filename ) )

我现在做了。抱歉,我是新来的。 - Kaveh Dianati

3
这应该完全符合您的要求。
gdata::sheetCount("your_path_here.xlsx")

此外,将工作表名称列为数组。
library(purrr)
library(readxl)

file <- 'your_path_here.xlsx'

sheets <- excel_sheets(file)

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