Java 在Excel中设置筛选器

在日常办公中,Excel工作表通常含有大量不同类型的数据,当我们想方便,快捷地从中筛选并显示所需数据时,则需用到筛选器这一工具。本文就将通过使用Java程序来演示如何设置Excel筛选器。

使用工具: Free Spire.XLS for Java (免费版)

Jar文件获取及导入:

方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

Java 在Excel中设置筛选器

方法2:通过maven仓库安装导入。具体安装教程参见 此网页 。

原Excel文档:

Java 在Excel中设置筛选器

【示例1】设置文本筛选

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.collections.AutoFiltersCollection;

public class TextFilter {
    public static void main(String[] args) {
        //加载Excel示例文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取AutoFiltersCollection对象
        AutoFiltersCollection filters = sheet.getAutoFilters();

        //设置筛选器的添加范围
        filters.setRange(sheet.getCellRange(1,1,16,8));

        //在第二列添加筛选器并设置文本为“市场部”的筛选条件
        filters.addFilter(1, "市场部");

        //运行筛选功能
        filters.filter();

        //保存文档
        wb.saveToFile("output/TextFilter.xlsx", ExcelVersion.Version2013);
    }
}

设置效果:

Java 在Excel中设置筛选器

【示例2】设置数字筛选

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.collections.AutoFiltersCollection;
import com.spire.xls.core.spreadsheet.autofilter.FilterOperatorType;

public class NumberFilter {
    public static void main(String[] args) {
        //加载Excel示例文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取AutoFiltersCollection对象
        AutoFiltersCollection filters = sheet.getAutoFilters();

        //设置筛选器的添加范围
        filters.setRange(sheet.getCellRange(1,1,16,8));

        //在第六列添加筛选器并设置数字范围为350-900的筛选条件
        filters.customFilter(5, FilterOperatorType.GreaterOrEqual, 350, true, FilterOperatorType.LessOrEqual, 900);

        //运行筛选功能
        filters.filter();

        //保存文档
        wb.saveToFile("output/NumberFilter.xlsx", ExcelVersion.Version2013);
    }
}

设置效果:

Java 在Excel中设置筛选器

【示例3】设置颜色筛选

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.collections.AutoFiltersCollection;

public class ColorFilter {
    public static void main(String[] args) {
        //加载Excel示例文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取AutoFiltersCollection对象
        AutoFiltersCollection filters = sheet.getAutoFilters();

        //设置筛选器的添加范围
        filters.setRange(sheet.getCellRange(1,1,16,8));

        //在第一列添加筛选器并设置单元格背景颜色为A1的筛选条件
        filters.addFillColorFilter(0, sheet.getCellRange("A1").getStyle().getColor());

        //运行筛选功能
        filters.filter();

        //保存文档
        wb.saveToFile("output/ColorFilter.xlsx", ExcelVersion.Version2013);
    }
}

设置效果:

Java 在Excel中设置筛选器

【示例4】设置日期筛选

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.collections.AutoFiltersCollection;
import com.spire.xls.core.spreadsheet.autofilter.DateTimeGroupingType;

public class DateFilter {
    public static void main(String[] args) {
        //加载Excel示例文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取AutoFiltersCollection对象
        AutoFiltersCollection filters = sheet.getAutoFilters();

        //设置筛选器的添加范围
        filters.setRange(sheet.getCellRange(1,1,16,8));

        //在第一列添加筛选器并设置日期为2020年3月的筛选条件
        filters.addDateFilter(0, DateTimeGroupingType.Month, 2020, 2, 1, 0, 0, 0 );

        //运行筛选功能
        filters.filter();

        //保存文档
        wb.saveToFile("output/DateFilter.xlsx", ExcelVersion.Version2013);
    }
}

设置效果:

Java 在Excel中设置筛选器

(本文完)

原文 

https://segmentfault.com/a/1190000022172063

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java 在Excel中设置筛选器

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址