closuresfilter

因此,我正在Excel文档中进行一些search,但其他人打开filter并将其保留在其中是非常常见的。 当这些筛选器打开时,这些单元格不包括在工作表的单元格区域中。

有没有办法closures这些自定义filter,以便我仍然可以访问表中的所有单元格?

这是我用来find方法的方式

Microsoft.Office.Interop.Excel.Range find = sheet.Cells.Find(tapeID, Type.Missing, Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues, Microsoft.Office.Interop.Excel.XlLookAt.xlPart, Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows, Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, false, Type.Missing, Type.Missing); 

当filter打开时,我得到一个空对象返回,除了filterclosures,我什么也做不了,我得到了我所需要的。

任何提示closuresfilter?

我会先testing一下,看是否有一个filter已经被应用,然后停用它,如果它有:

 if (xlSheet.AutoFilter != null) { xlSheet.AutoFilterMode = false; } 

这应该删除已经应用的任何过滤,并删除filter箭头button。

您可以通过调用两次范围内的AutoFilter方法来禁用所有filter,而不使用任何参数。

 sheet.Cells.AutoFilter(); sheet.Cells.AutoFilter(); 

我不是非常熟悉Interop,但是您可能需要传递5个Type.MissingMissing.Value作为参数。

第一个调用将closuresAutoFilter,如果closures,则第二个调用将打开,反之亦然。 但是在任何一种情况下,由于过滤将不再有隐藏单元。