在日常办公中,Excel工作表通常含有大量不同类型的数据,当我们想方便,快捷地从中筛选并显示所需数据时,则需用到筛选器这一工具。本文就将通过使用Java程序来演示如何设置Excel筛选器。
方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程参见 此网页 。
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); } }
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); } }
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); } }
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); } }
(本文完)