在 excel 数据透视表中,筛选器是一种控制显示内容的工具。它允许用户根据特定的条件筛选数据,以确保只展示相关信息。例如,用户可以按时间、地区、产品类别或其他关键字段进行筛选,从而减少了无关数据的干扰,提升数据分析的效率。本文将演示如何使用 spire.xls for .net 在 c# 中为 excel 数据透视表添加筛选器。
安装 spire.xls for .net
首先,您需要将 spire.xls for .net 包含的 dll 文件作为引用添加到您的 .net 项目中。dll 文件可以从此链接下载,也可以通过 安装。
pm> install-package spire.xls
c# 给 excel 数据透视表添加报表筛选器
spire.xls for .net 提供了 xlspivottable.reportfilters.add() 方法,用于向 excel 数据透视表添加报表筛选器。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[index] 属性获取指定工作表。
- 使用 worksheet.pivottables[index] 属性获取工作表中的指定数据透视表。
- 使用 pivotreportfilter 类创建报表筛选器。
- 通过 xlspivottable.reportfilters.add() 方法将报表筛选器添加到数据透视表。
- 使用 workbook.savetofile() 方法保存文件。
- c#
using spire.xls;
using spire.xls.core.spreadsheet.pivottables;
namespace addreportfilter
{
internal class program
{
static void main(string[] args)
{
// 创建 workbook 对象
workbook workbook = new workbook();
// 加载 excel 文件
workbook.loadfromfile("示例.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取第一个数据透视表
xlspivottable pt = sheet.pivottables[0] as xlspivottable;
// 创建报表筛选器
pivotreportfilter reportfilter = new pivotreportfilter("产品", true);
// 将报表筛选器添加到数据透视表
pt.reportfilters.add(reportfilter);
// 保存文件
workbook.savetofile("报表筛选器.xlsx", fileformat.version2016);
workbook.dispose();
}
}
}
c# 给 excel 数据透视表的行字段添加筛选器
你可以使用 xlspivottable.rowfields[index].addvaluefilter() 或 xlspivottable.rowfields[index].addlabelfilter() 方法为 excel 数据透视表中的指定行字段添加值筛选器或标签筛选器。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[index] 属性获取指定工作表。
- 使用 worksheet.pivottables[index] 属性获取工作表中的指定数据透视表。
- 使用 xlspivottable.rowfields[index].addvaluefilter() 或 xlspivottable.rowfields[index].addlabelfilter() 方法为特定行字段添加值筛选器或标签筛选器。
- 使用 xlspivottable.calculatedata() 方法计算数据透视表的数据。
- 使用 workbook.savetofile() 方法保存文件。
- c#
using spire.xls;
using spire.xls.core.spreadsheet.pivottables;
namespace addrowfilter
{
internal class program
{
static void main(string[] args)
{
// 创建 workbook 对象
workbook workbook = new workbook();
// 加载 excel 文件
workbook.loadfromfile("示例.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取第一个数据透视表
xlspivottable pt = sheet.pivottables[0] as xlspivottable;
// 为第一个行字段添加值筛选器
pt.rowfields[0].addvaluefilter(pivotvaluefiltertype.greaterthan, pt.datafields[0], 5000, null);
// 或为第一个行字段添加标签筛选器
// pt.rowfields[0].addlabelfilter(pivotlabelfiltertype.equal, "mike", null);
// 计算数据透视表数据
pt.calculatedata();
// 保存文件
workbook.savetofile("行字段筛选器.xlsx", fileformat.version2016);
workbook.dispose();
}
}
}
c# 给 excel 数据透视表的列字段添加筛选器
要为数据透视表中的指定列字段添加值筛选器或标签筛选器,你可以使用 xlspivottable.columnfields[index].addvaluefilter() 或 xlspivottable.columnfields[index].addlabelfilter() 方法。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[index] 属性获取指定工作表。
- 使用 worksheet.pivottables[index] 属性获取工作表中的指定数据透视表。
- 使用 xlspivottable.columnfields[index].addvaluefilter() 或 xlspivottable.columnfields[index].addlabelfilter() 方法为特定列字段添加值筛选器或标签筛选器。
- 使用 xlspivottable.calculatedata() 方法计算数据透视表的数据。
- 使用 workbook.savetofile() 方法保存文件。
- c#
using spire.xls;
using spire.xls.core.spreadsheet.pivottables;
namespace addcolumnfilter
{
internal class program
{
static void main(string[] args)
{
// 创建 workbook 对象
workbook workbook = new workbook();
// 加载 excel 文件
workbook.loadfromfile("示例.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取第一个数据透视表
xlspivottable pt = sheet.pivottables[0] as xlspivottable;
// 为第一个列字段添加标签筛选器
pt.columnfields[0].addlabelfilter(pivotlabelfiltertype.equal, "笔记本电脑", null);
// 或为第一个列字段添加值筛选器
// pt.columnfields[0].addvaluefilter(pivotvaluefiltertype.between, pt.datafields[0], 5000, 10000);
// 计算数据透视表数据
pt.calculatedata();
// 保存文件
workbook.savetofile("列字段筛选器.xlsx", fileformat.version2016);
workbook.dispose();
}
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。