ITPub博客

首页 > 应用开发 > .net > C#/VB.NET在Excel中添加筛选器并执行筛选

C#/VB.NET在Excel中添加筛选器并执行筛选

原创 .net 作者:Mia张 时间:2020-08-20 09:38:46 0 删除 编辑

本文介绍通过C#和VB.NET程序在Excel文档中添加筛选器并执行筛选的方法。 需要使用Excel类库工具Free Spire.XLS for .NET,可通过官网 下载包,解压安装到指定路径,完成安装后,将安装路径下Bin文件夹下的Spire.Xls.dll文件添加引用到VS程序;或者可通过 Nuget搜索下载。

dll文件引用效果如下:


Excel测试文档如下,包含多个数据列表,下面将通过代码筛选指定数据:


C#

using Spire.Xls;
using Spire.Xls.Collections;
 
namespace Filter_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook对象,加载Excel文档
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("test.xlsx");
 
            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];          
 
            //添加筛选器,并执行筛选
            AutoFiltersCollection filters = sheet.AutoFilters;//获取筛选器集合
            filters.Range = sheet.Range[1, 2, sheet.LastRow, 2];//设置筛选器的添加位置(第2列)       
            filters.AddFilter(0, "包1");//添加筛选器,指定筛选项
            filters.Filter();//执行筛选
 
            //保存文档
            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2010);
            System.Diagnostics.Process.Start("output.xlsx");
        }
    }
}

筛选器添加结果:


VB.NET

Imports Spire.Xls
Imports Spire.Xls.Collections
 
Namespace Filter_XLS
         Class Program
                   Private Shared Sub Main(args As String())
                            '创建Workbook对象,加载Excel文档
                            Dim workbook As New Workbook()
                            workbook.LoadFromFile("test.xlsx")
 
                            '获取第一个工作表
                            Dim sheet As Worksheet = workbook.Worksheets(0)
 
                            '添加筛选器,并执行筛选
                            Dim filters As AutoFiltersCollection = sheet.AutoFilters
                            '获取筛选器集合
                            filters.Range = sheet.Range(1, 2, sheet.LastRow, 2)
                            '设置筛选器的添加位置(第2列)       
                            filters.AddFilter(0, "包1")
                            '添加筛选器,指定筛选项
                            filters.Filter()
                            '执行筛选
                            '保存文档
                            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2010)
                            System.Diagnostics.Process.Start("output.xlsx")
                   End Sub
         End Class
End Namespace



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31499788/viewspace-2713135/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-10-27

  • 博文量
    166
  • 访问量
    146984