Excel筛选器是一个桌面应用程序,旨在解决用户在处理多个Excel文件时,需要根据复杂条件筛选数据并填充到指定模板的问题。
- 提高Excel数据处理效率
- 简化复杂筛选条件的设置
- 支持筛选方案的保存和重用
- 提供直观易用的桌面界面
- 数据分析师
- 财务人员
- 人事管理人员
- 需要处理大量Excel数据的办公人员
- 功能描述:用户可以上传多个Excel文件作为数据源
- 输入:Excel文件(.xlsx, .xls格式)
- 输出:成功上传的文件列表
- 约束条件:
- 支持同时上传最多20个文件
- 单个文件大小不超过50MB
- 文件必须包含有效的Excel数据
- 功能描述:用户可以上传一个Excel文件作为输出模板
- 输入:Excel模板文件
- 输出:模板结构预览
- 约束条件:
- 功能描述:自动识别所有上传Excel文件的第一行作为字段变量
- 输入:已上传的Excel文件
- 输出:所有可用的字段变量列表
- 处理逻辑:
- 读取每个Excel文件的第一行
- 去重合并所有字段名
- 验证字段名的有效性
- 功能描述:自动推断每个字段的数据类型
- 支持类型:文本、数字、日期、布尔值
- 输出:字段名和对应数据类型的映射表
- 功能描述:提供可视化界面设置筛选条件
- 支持的操作符:
- 等于 (=)
- 不等于 (!=)
- 大于 (>)
- 小于 (<)
- 大于等于 (>=)
- 小于等于 (<=)
- 包含 (contains)
- 不包含 (not contains)
- 在范围内 (in range)
- 为空 (is null)
- 不为空 (is not null)
- 功能描述:支持多个条件的逻辑组合
- 支持的逻辑操作:
- 支持嵌套:允许使用括号进行条件分组
- 功能描述:用户可以创建多个独立的筛选规则
- 规则包含:
- 功能描述:将多个筛选规则组合保存为筛选方案
- 保存内容:
- 方案名称和描述
- 所有筛选规则
- 列映射关系
- 创建和修改时间
- 功能描述:根据设置的条件筛选数据
- 处理流程:
- 解析筛选条件
- 在所有数据源中查找匹配记录
- 应用逻辑组合条件
- 返回筛选结果
- 功能描述:将筛选结果填充到输出模板的指定列
- 填充规则:
- 每个筛选规则对应一个输出列
- 保持原有模板格式
- 支持数据类型转换
- 功能描述:将处理结果导出为Excel文件
- 导出选项:
- 文件名自定义
- 保存路径选择
- 格式选择(.xlsx, .xls)
- 响应时间:单次筛选操作响应时间不超过5秒
- 并发处理:支持同时处理10万行数据
- 内存使用:运行时内存占用不超过500MB
- 易用性:新用户5分钟内能完成基本操作
- 界面响应:界面操作响应时间不超过200ms
- 错误处理:提供清晰的错误提示和恢复建议
- 操作系统:支持Windows 10+, macOS 10.14+, Ubuntu 18.04+
- Excel格式:支持.xlsx, .xls格式
- 文件编码:支持UTF-8, GBK编码
- 数据安全:所有数据本地处理,不上传到服务器
- 文件完整性:处理过程中确保原始文件不被修改
- 权限控制:仅访问用户明确授权的文件
- 参与者:最终用户
- 前置条件:用户已上传数据源和模板文件
- 主要流程:
- 用户选择筛选字段
- 设置筛选条件和逻辑关系
- 指定输出列
- 保存筛选方案
- 后置条件:筛选方案保存成功
- 参与者:最终用户
- 前置条件:已创建筛选方案或加载已有方案
- 主要流程:
- 用户点击执行筛选
- 系统处理筛选条件
- 显示筛选结果预览
- 用户确认并导出结果
- 后置条件:生成包含筛选结果的Excel文件
| 字段名 |
类型 |
长度 |
必填 |
描述 |
| id |
Integer |
- |
是 |
方案ID |
| name |
String |
100 |
是 |
方案名称 |
| description |
String |
500 |
否 |
方案描述 |
| created_time |
DateTime |
- |
是 |
创建时间 |
| updated_time |
DateTime |
- |
是 |
更新时间 |
| 字段名 |
类型 |
长度 |
必填 |
描述 |
| id |
Integer |
- |
是 |
规则ID |
| plan_id |
Integer |
- |
是 |
所属方案ID |
| name |
String |
100 |
是 |
规则名称 |
| conditions |
JSON |
- |
是 |
筛选条件 |
| target_column |
String |
50 |
是 |
目标输出列 |
- 必须使用Python 3.8+开发
- GUI框架必须使用PySide6
- 数据处理必须使用pandas
- 单次处理的数据总量不超过100万行
- 筛选方案数量不超过1000个
- 单个方案包含的规则数量不超过50个