Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何复制AutoFilter()方法筛选的行_C#_.net_Excel 2003 - Fatal编程技术网

C# 如何复制AutoFilter()方法筛选的行

C# 如何复制AutoFilter()方法筛选的行,c#,.net,excel-2003,C#,.net,Excel 2003,到目前为止,我一直在使用AutoFilter()方法,没有任何问题。但我无法标记或获取筛选行的范围,无法计数/复制/删除它们 我看过很多关于VBA的文章,但是没有一篇是关于C的 过滤后,我尝试通过以下任一行获取范围: range = ws.UsedRange.CurrentRegion.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing); range = ws.AutoFilter.Range.SpecialCells(Excel.

到目前为止,我一直在使用AutoFilter()方法,没有任何问题。但我无法标记或获取筛选行的范围,无法计数/复制/删除它们

我看过很多关于VBA的文章,但是没有一篇是关于C的

过滤后,我尝试通过以下任一行获取范围:

range = ws.UsedRange.CurrentRegion.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.AutoFilter.Range.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.Cells.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
我甚至尝试过其他我都不记得的方法

标记范围后,我尝试通过执行以下操作来计算行数:

range.Rows.Count
在每种情况下,我都得到了表格的总行数,有时得到65536行(Office2003),有时只有1行,但肯定不是我过滤的行数


我必须将它与office 2003和对象库11一起使用。

好的。长眠之后。我获得了一些尝试更多方向的能力,这次没有从其他论坛和谷歌那里获得方向

试试这个:

  • 对整个工作表的使用范围应用自动筛选
Excel.Range=workSheet.UsedRange

  • 在范围上应用自动过滤器
(这将根据列1以criteriaString作为标准筛选行)

  • 现在,您需要获得过滤范围:
  • 现在,您可以访问
    filteredRange.Rows.Count
    integer来计算行数,并做一些有趣的事情
就这样!它必须是简单的,然后我曾经认为它会


谢谢在自动筛选之后,我想在筛选的行中仅在“N”范围内命名一个术语“COGI”。如何写入以拾取该范围“N”并插入一个术语“COGI”

删除行,只需
range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp)

作者正在询问复制行的答案。
 range.AutoFilter(1, criteriaString , Excel.XlAutoFilterOperator.xlAnd, missing, true);
Excel.Range filteredRange = range.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeVisible, missing);