简体   繁体   English

C#-Excel-如何在自动筛选后删除可见行?

[英]C# - Excel - How to delete visible rows after AutoFilter?

I´m working on a little commandline tool to extract some data from an excel sheet. 我正在使用一个小的命令行工具来从Excel工作表中提取一些数据。

I want to delete all rows which are visible after applying an AutoFilter. 我想删除应用自动筛选后可见的所有行。

Unfortunately, I just don´t know how to continue. 不幸的是,我只是不知道如何继续。 After some searching, I did not find a working answer for me. 经过一番搜索,我找不到适合我的答案。

Here is what I´ve got so far: 这是到目前为止我得到的:

        oXL = new Excel.Application();
        oXL.Visible = false;
        oWB = oXL.Workbooks.Open(source);
        oXS = (Excel.Worksheet)oWB.Sheets[1];

        Excel.Range filter = oXS.UsedRange;
        filter.AutoFilter(8, "<>text to filter");

How do I delete all rows which are shown after filtering? 如何删除过滤后显示的所有行?

Thanks. 谢谢。

CRowland 克兰

Maybe it's a bit late for an answer but I put it for reference. 也许答案来晚了,但是我把它作为参考。 Every Excel.Range object has a Delete() method: 每个Excel.Range对象都有一个Delete()方法:

    Excel.Range filter = oXS.UsedRange;
    filter.AutoFilter(8, "<>text to filter");
    filter.AutoFilter.Range.Delete();
Excel.Range filter = XlSheet_1.UsedRange;
filter.AutoFilter(8, "<>text to filter");
filter.Delete(XlDeleteShiftDirection.xlShiftUp);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM