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

时间:2013-10-02 15:18:25

标签: r excel gdata xlconnect

我有一组excel文件,我将其导入R

这些文件包含我想忽略的隐藏数据 - 例如,根本不导入它,或者导入一个标记,表明它已被隐藏,以便我可以放弃它。

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

  • 隐藏完整工作表
  • 工作表中的
  • 特定行将被隐藏。

有没有办法识别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))

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

1 个答案:

答案 0 :(得分:2)

XLConnect有一个名为isSheetHidden的好函数可以满足您的需求。假设隐藏了Sheet2

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

gdata中,您必须编写自己的函数来调用底层的perl包来访问sheet属性,但这是可能的。