所有页面切换通过左侧 侧边栏 完成,页面地址(含场景、视图参数)持久化到 URL 哈希,刷新不丢失:
| 菜单项 | 功能 |
|---|---|
| 仪表盘 | 概览:业务入口卡片、统计卡片、快速上手工作流 |
| 业务名称 | 点击切换到该业务的数据页,右侧显示该业务下的所有记录 |
| 业务设置 | 增删改业务,调整排序和图标 |
| 文档模板 | 所有单记录模板的表格列表,支持编辑、字段管理、复制、发布/下架 |
| 报表模板 | 列表(批量导出)模板管理 |
| 设置 ▾ | 手风琴菜单:备份 / 导出 / 导入 / 重置 / 修改密码 / 退出登录 |
| 帮助 | 打开本帮助页 |
未选择业务时显示仪表盘,包含:
数据录入和编辑均采用 全页表单(非模态框),顶部有返回按钮,100% 宽度铺满内容区,支持分组字段和子表操作。
云端部署(推荐):任何设备浏览器打开部署地址(如 http://IP:3688 或未来 https://sheetdrive.cc),输入管理员分配的用户名 + 密码即可使用,数据实时保存到服务器,无需安装任何软件。
单机运行:命令行启动 python server.py,浏览器打开 http://localhost:3688;打包版双击 SheetDrive.exe 后从托盘图标「🌐 打开浏览器」进入。
业务是对单个数据场景的分类管理(相当于传统的"单据类型")。每个业务有自己的字段定义、文档模板和数据。例如:发票、合同、装箱单、报价单各为一个独立业务。
在侧边栏点击 业务设置 进入管理页,支持:
每个业务在侧边栏显示为独立条目,点击即切换到该业务的数据视图。每个业务条目右侧有 + 按钮,点击直接录入数据(自动选用该业务的模板)。
选中场景后,右侧展示该场景下的所有记录,以表格形式呈现。每条记录的操作列:
| 按钮 | 功能 |
|---|---|
| 👁️ | 预览记录详情(只读模态框,分组展示字段和子表) |
| ✏️ | 全页编辑表单 |
| 📋 模板名 ▾ | 选择生成模板(选中后持久化到 localStorage,刷新不丢失) |
| 📥 下载 | 使用选定模板生成 Excel 并下载 |
| 💾 保存 | 使用选定模板生成并保存到 _output/ |
| 🗑️ | 删除记录 |
点击场景旁的 + 按钮,或侧边栏的 + 录入:
表单字段按分组排列,子表行可动态增删。公式字段在输入时自动实时预览。
旧数据缺少编号时,工具栏会显示 🔢 补编号 (N) 按钮,点击自动按模板计数规则填补。
文档模板 用表格展示所有单记录模板(1条记录→1个输出文件),显示图标、名称、业务、字段数、数据数、状态。顶部有 + 新建模板 按钮。
报表模板 用于批量数据导出(N条记录→1张Excel表格),支持子表字段展开为多行、主字段重复填充。操作方式类似文档模板,但映射的是Excel列字母而非单元格地址。
点击按钮后直接创建默认模板(名"新模板"、草稿状态)并跳转到编辑器,无需中间弹窗。在编辑器内修改名称、场景、版本、文件名格式等。
| 按钮 | 功能 |
|---|---|
| ✏️ 编辑 | 进入模板编辑器 |
| 📑 字段 | 跳转到字段管理(同编辑器) |
| 📋 复制 | 复制模板及其所有字段/映射/上传的 Excel 底版 |
| 📤/📥 发布/下架 | 切换发布状态,草稿模板在录入时不可选 |
| 🗑️ | 删除模板(含所有字段、记录、子表数据) |
全页编辑器,顶部包含:
| 类型 | 说明 |
|---|---|
| 文本 | 单行文本输入 |
| 数字 | 数字输入,支持小数位数设置 |
| 日期 | 日期选择器 |
| 多行文本 | 文本域,适合地址、备注等大段内容 |
| 下拉选择 | 预定义选项,每行一个 |
| 自动编号 | 保存时自动生成编号,支持按字段分组重置 |
| 公式 | 自动计算字段,支持 SUM(_items.amount) 等表达式 |
| 明细行 | 子表结构,需在列编辑器中定义子字段 |
编辑字段时,填写 Excel 单元格地址(如 B3)指定该字段写入模板的哪个格子。支持:
{buyer_name} - {contract_no} → 写入 张三 - CONT-0001每个模板有独立的计数器。保存新记录时,系统:
删除记录不影响计数器,避免编号重复。编辑记录时 保留原有编号不被覆盖。
| 占位符 | 说明 | 示例(2026年6月) |
|---|---|---|
{year} | 四位年份 | 2026 |
{ym} | 六位年月 | 202606 |
{y} | 两位年份 | 26 |
| 前缀 | 生成效果 |
|---|---|
INV-{year}- | INV-2026-0001 |
PO-{ym}- | PO-202606-0001 |
CONT- | CONT-0001(无占位符,原样输出) |
每条记录需要先选择模板(选中后蓝色高亮),然后使用两个输出按钮:
| 按钮 | 功能 | 适用场景 |
|---|---|---|
| 📥 下载 | 浏览器下载 | 临时查看、单次使用 |
| 💾 保存 | 保存到 _output/ 目录 | 长期保存、批量归档 |
文件名由模板的"文件名格式"控制,默认 {_no}。支持引用任意字段值:
每条记录可以选用不同的模板生成,互不影响。选中的模板会持久化到浏览器本地存储,刷新页面不丢失。
子表列可以定义公式,如 qty*price,自动计算行内值:
子表在 Excel 底版中需要预留位置,通常包含表头行和一行示例数据。生成时,系统:
侧边栏 ⚙️ 设置 ▾ 展开后包含:
| 功能 | 说明 |
|---|---|
| 💾 备份 | 触发服务端创建时间戳备份到 data/backups/ |
| 📤 导出 | 下载当前数据库文件 (database.db) |
| 📂 导入 | 上传数据库文件替换当前数据 |
| 🔄 重置 | 恢复数据库到初始状态(清空所有数据) |
服务端在每次数据写入前自动备份旧版本到 data/backups/auto-{时间戳}.bak,无需手动操作。
服务端先写 database.db.tmp,成功后原子重命名,防止写入崩溃导致文件损坏。
系统托盘中的蓝色 SD 图标右键菜单提供以下功能:
| 菜单项 | 功能 |
|---|---|
| 🌐 打开浏览器 | 在本机浏览器打开应用首页(默认) |
| 🌐 局域网地址 192.168.x.x:3688 | 局域网开启时显示,点击用局域网地址打开 |
| ⚙ 更换端口... | 弹出对话框输入新端口 (1024~65535),自动重启服务 |
| 🔒 局域网: 关 | 点击开启,服务绑定 0.0.0.0,局域网设备可访问 |
| 🔓 局域网: 开 (IP:端口) | 点击关闭,仅本机可访问 |
| 🔒 开启防火墙 (端口) | 添加 Windows 防火墙入站规则(需要 UAC 确认) |
| 🔓 关闭防火墙 (端口) | 删除 Windows 防火墙入站规则(需要 UAC 确认) |
| ✕ 退出 | 停止服务并退出程序 |
当默认端口 3688 被其他程序占用时,右键托盘图标 → ⚙ 更换端口...,输入新端口号即可。服务会在新端口自动重启,无需手动修改配置文件。
要让局域网其他设备访问 SheetDrive,需要两步:
开启后,其他设备在浏览器输入 http://192.168.x.x:3688 即可访问(IP 地址显示在托盘标题和菜单中)。
端口号、局域网开关等设置保存在 data/config.json 中,下次启动自动恢复。
数据存储在服务器的 data/database.db(标准 SQLite)。所有写入均为服务端事务提交,commit 成功才算保存成功;浏览器只是操作界面,刷新/换设备不丢数据。
服务器每日 03:00 自动备份到 data/backups/daily-*.db(保留最近 14 份)。恢复:停服务 → 用目标备份覆盖 data/database.db(删除同目录 -wal/-shm)→ 启动。也可在界面「设置 → 备份」手动触发。
云端部署无需迁移——任何电脑/手机浏览器登录即可见全部数据。单机模式则复制整个目录(含 data/ lib/ server.py)到新电脑运行即可。
不会。数据写入走服务端 SQLite 事务 + WAL,浏览器关页面、断网都不影响已保存数据;写操作失败有红色横幅提示并可重试;另有每日自动备份兜底。
使用 .xlsx 格式(不支持 .xls)。模板可以包含:静态文字、表格、Logo、合并单元格、边框、公式。不要 在模板单元格中写数据占位符,数据通过字段映射写入。
登录后:侧边栏「设置 ▾ → 修改密码」,输入当前密码与新密码即可。服务器管理员也可直接编辑 data/config.json 的 users 后重启服务。
先确认部署地址正确、服务运行中(浏览器能打开登录页即正常)。账号密码由服务器管理员在 data/config.json 的 users 中配置;忘记密码需管理员重置该值后重启服务(云端:systemctl restart sheetdrive)。
本地模式修改 data/config.json 的 port 后重启。云端部署一般由服务端口 3688 对公网放行,如改用域名 HTTPS 则由反向代理处理。
云端部署直接公网可访问(输入部署地址 + 账号密码)。单机模式:config.json 中 lan_access: true 后,同网段设备访问 http://你的IP:3688。
本地托盘模式:托盘菜单「关闭防火墙 (端口)」;云端部署无此概念,安全由云控制台安全组管理。