错误(函数(类,fdef,mtable):无法为签名“ Workbook”,“ character”的函数“ getLastRow”找到继承的方法

时间:2018-09-23 16:16:26

标签: r

获取如getlastrow函数标题中所述的错误消息,请提供帮助。尝试查找数据的最后一行以补充其下的下一天数据。请帮助我解决此问题。

enter code here

  wb <- createWorkbook()

  addWorksheet(wb,"sheet1")

  writeData(wb,sheet = "sheet1",iris)

  openxlsx::saveWorkbook(wb, "Repository.xlsx", overwrite = T)

  wb1 <- openxlsx::loadWorkbook("Repository.xlsx")

  lastrow<-XLConnect::getLastRow(wb,"sheet1")

  lastrow <-as.data.frame( XLConnect::getLastRow(object = wb1,"sheet1"))

  colnames(lastrow) <- "row_num"

  lastrow <- lastrow$row_num

1 个答案:

答案 0 :(得分:0)

好,我现在明白了,意识到您的示例是完全可重复的。

该错误消息并未明确说明,但似乎openxlsx::saveWorkbook正在创建一个不会关闭的连接。在R环境中没有可以关闭的连接对象,并且我看不到该包中的任何函数来关闭连接。

但是,这阻止XLConnect::getLastRow访问文件。如果您在创建文件后关闭R会话,然后启动一个新会话并从wb1 <- openxlsx::loadWorkbook("Repository.xlsx")开始运行代码,那么它将起作用。

不幸的是,这可能不是最令人满意的答案。您可以在openxlsx文档中进一步搜索有关如何关闭连接的信息。