是否可以在 xlsx 文件中生成工作表名称列表?或者,我可以检查工作表名称是否存在,如果不存在,则继续执行某些指定功能?
问问题
12879 次
6 回答
16
使用xlsx库,您可以使用 getSheets() 获取现有工作簿中的工作表列表:
wb <- loadWorkbook(your_xlsx_file)
sheets <- getSheets(wb)
于 2014-06-25T14:53:13.673 回答
2
您也可以使用 RODBC 包执行此操作:
h <- odbcConnectExcel2007("file.xlsx")
sqlTables(h)
于 2012-09-12T05:04:31.457 回答
0
使用的单线解决方案openxlsx
是
openxlsx::getSheetNames('your/file.xlsx')
于 2020-04-15T15:34:07.957 回答
0
使用 R xlsx 包获取 excel 或工作簿文件表名称
加载您的工作簿或 excel 文件,在我的情况下,例如 excel 文件的名称是“input_4_r.xlsx”
> wb<-loadWorkbook("input_4_r.xlsx")
查看文件列表,这里它在我的示例案例中显示 2 张工作表,我没有命名第一张工作表并保留默认但第二张工作表,我命名为“名称城市”,因此输出如下
> getSheets(wb)
$Sheet1
[1] "Java-Object{Name: /xl/worksheets/sheet1.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml}"
$`name city`
[1] "Java-Object{Name: /xl/worksheets/sheet2.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml}"
您可以看到工作表名称的名称如下
> names(getSheets(wb))
[1] "Sheet1" "name city"
获取工作表特定索引的名称,例如在我的情况下通过 [2] 获取第二张工作表
> names(getSheets(wb))[2]
[1] "name city"
*** 以上假设是 xlsx 包已安装并加载到 R 中
于 2019-04-04T08:52:52.980 回答
0
只有这在我的情况下有效:
library(openxlsx)
sheetNames <- getSheetNames("filename.xlsx")
以上解决方案均不适用于我的大 xlsx(>300 张):
.jcall 中的错误(“RJavaTools”、“Ljava/lang/Object;”、“invokeMethod”、cl、:java.lang.OutOfMemoryError:Java 堆空间
于 2021-11-28T05:44:25.410 回答