Java 在Excel中设置筛选器

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

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

Jar文件获取及导入:

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


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

原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);

}

}

设置效果:



【示例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);

}

}

设置效果:



【示例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);

}

}

设置效果:



【示例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);

}

}

设置效果:


(本文完)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容