如何从Excel导入时忽略隐藏的数据

我有我正在导入到R的Excel文件的集合。

这些文件包含我想忽略的隐藏数据 – 例如,根本不导入它,或者用一个表示隐藏的标志导入它,然后我可以删除它。

这些文件包含两种types的隐藏数据:

  • 完整的表是隐藏的
  • 表单中的特定行是隐藏的。

有什么方法可以确定何时隐藏Excel中的数据?

现在我正在使用gdata包,但很高兴使用XLConnect或其他包

示例代码:

 library(gdata) xlsfile <- "test.xls" # grab all the sheet names. # This is giving me both hidden & non-hidden sheets. I would like only the latter sheets <- sheetNames(xlsfile) # read in the xls file, by sheet xlData <- lapply(sheets, function(s) read.xls(xlsfile, sheet=s, stringsAsFactors = FALSE)) 

如果需要,我可以创build一个虚拟的xls文件并发布。

XLConnect有一个很好的函数叫做isSheetHidden ,它可以做你想做的事情。 假设Sheet2是隐藏的:

 library(XLConnect) xlsfile <- "Book1.xls" wb <- loadWorkbook(xlsfile, create = TRUE) isSheetHidden(wb, "Sheet1") # FALSE isSheetHidden(wb, "Sheet2") # TRUE 

gdata你将不得不编写自己的函数来调用底层的perl包来访问sheet属性,但是这是可能的。