Stable Release
最新稳定版
默认下载入口指向当前稳定版,并保留完整校验信息用于分发核验。
Overview
软件介绍
Excel 批量分类下载器
基于 PySide6 的 Windows 桌面工具:从 Excel 多列链接批量下载文件,并按指定列内容自动分类到文件夹。
功能特性
- 支持多列链接同时下载(如 B,C,D,E)
- 按指定列内容自动创建子文件夹(如 A 列)
- 支持暂停、继续、停止
- 支持跳过已存在文件
- 显示整体进度、单文件进度、详细日志
- 下载超时可配置
- 支持 User-Agent 下拉选择,默认模拟 Chrome
- 自动保存 GUI 设置参数,下次启动自动恢复
- 内置“使用说明”Tab 页,方便现场操作时查看规则
- 使用
Resources/favicon.ico设置窗口与应用图标
使用说明
- 打开“批量下载”Tab。
- 选择 Excel 文件。
- 选择输出目录。
- 设置表头行号(默认 1)。
- 设置“文件夹命名列”(默认 A)。
- 设置“下载链接列”(默认 B,C,D,E)。
- 选择 User-Agent(默认 Chrome)。
- 按需开启“跳过已存在文件”并调整超时秒数。
- 点击“开始下载”。任务运行中可暂停、继续或停止。
程序会自动保存以下 GUI 参数:
- Excel 文件路径
- 输出目录
- 表头行号
- 文件夹命名列
- 下载链接列
- 是否跳过已存在文件
- 下载超时时间
- User-Agent 选择
- 窗口位置与大小
Excel 配置约定
- 表头行:用于命名文件中的列标签(例如“正面图”“背面图”)
- 文件夹命名列:该列每行的值会作为目标文件夹名
- 下载链接列:支持多个列字母,使用英文逗号或中文逗号分隔
- 链接必须以 http 或 https 开头
示例 Excel 模板说明
可参考下面的最小可用模板(表头行号 = 1,文件夹命名列 = A,下载链接列 = B,C,D,E):
说明:
- A 列为空时,程序会自动使用
row_0001这类名称作为文件夹名 - B/C/D/E 中某列为空会自动跳过,不影响其他列下载
- 同一行多个链接会下载到同一个子文件夹内
文件命名规则
- 默认格式:文件夹名_列标签.扩展名
- 若链接中无扩展名,则使用
.bin - 文件名会自动清洗 Windows 非法字符
- 超长名称会被截断,避免写入失败
User-Agent 预设
当前内置以下预设:
- Chrome(默认)
- Edge
- Firefox
- Safari
- 通用下载器
如果某些站点拒绝下载、返回 403 或根据浏览器类型限制访问,可尝试切换 User-Agent 后重新下载。
项目结构
excel_batch_downloader/
├─ main.py
├─ pyproject.toml
├─ build_nuitka.py
├─ resources.qrc
├─ Resources/
│ ├─ favicon.ico
│ └─ icon-192.png
└─ src/
└─ excel_batch_downloader/
├─ __init__.py
├─ main_window.py
├─ worker.py
├─ utils.py
├─ style.py
└─ user_agents.py
模块说明
main.py:根目录薄入口,保持python main.py启动方式不变main_window.py:主界面、Tab 页面、参数收集、自动保存设置、进度与日志展示worker.py:后台下载线程,负责读取 Excel、下载文件、发送进度信号utils.py:列解析、文件名清洗、体积格式化等工具函数style.py:界面 QSS 样式user_agents.py:User-Agent 预设与解析逻辑build_nuitka.py:Nuitka 打包脚本Resources/:窗口图标与资源文件
常见问题
1. 点击开始后提示“未找到任何有效链接”
- 检查“下载链接列”是否填写正确
- 检查单元格内容是否为完整 http/https 链接
- 检查表头行号是否正确,数据行应在表头行之后
2. 文件名显示异常
- 程序会自动清理 Windows 非法字符
- 超长名称会被截断,避免写入失败
- 链接中无扩展名时会保存为
.bin
3. 下载失败或超时
- 适当提高“超时(秒)”
- 检查网络连通性与链接可访问性
- 尝试切换 User-Agent,例如从 Chrome 改为 Edge 或 Firefox
4. 下次打开为什么会保留上次参数?
这是自动保存 GUI 设置功能。程序会通过 Qt 的 QSettings 保存常用参数和窗口大小,便于重复执行相同模板任务。
Environment
环境依赖
- Windows
Screens
使用截图
Release Archive
更新日志与历史版本
- 下载此版本
Release Note
1.0.1 · 稳定版
UI 调整
