Excel → SQL Server 生产数据同步备份系统(客户项目)产品系统

我要开发同款
c6h5gp2026年10月02日
8阅读

技术信息

语言技术
Python、SQL Server
系统类型
Windows
行业分类
工业互联网

作品详情

行业场景

某制造企业的生产现场以多张 Excel 生产记录表记录生产数据,记录表持续追加,存在数据分散、文件越写越大、难以统一查询和备份的问题。客户需要一款部署在现场 Windows 电脑上的工具,在不改变现场 Excel 录入习惯的前提下,把各表新增数据自动、增量地同步到 SQL Server 数据库集中备份,并在文件过大时按模板归档轮转,保证 Excel 可持续使用、数据库保留完整历史。

功能介绍

- 多文件映射:每个 Excel 文件对应一张数据库表与一份空白模板。
- 增量同步:基于游标记录每个文件已同步行号,只读取新增行;已存在的行自动跳过,避免重复写入。
- 数据清洗:列名规范化、空行过滤、同组续行表头字段向前填充、空值标准化,按目标表列类型转换,异常行记为脏数据。
- 同步方式:手动同步全部/单个文件、定时同步(可配置间隔),同一文件加锁防止并发。
- 阈值归档:行数达到阈值时弹窗提醒,确认后将旧文件移入归档目录并复制新模板、切换批次,不删除数据库历史。
- 图形界面:状态监控、配置管理(含数据库连接测试)、同步日志(搜索/导出)三个标签页,系统托盘常驻。
- 部署:首次运行配置向导、ODBC 驱动检测与安装、开机自启动(当前用户或计划任务)。

项目实现

使用 Python 开发,pandas + openpyxl 读取 Excel,SQLAlchemy(mssql+pyodbc)连接池写入 SQL Server,分批查询已存在的 excel_row 实现幂等批量插入,并自动过滤目标表不存在的列、按列类型强制转换。游标表记录 last_row、累计同步数、文件修改时间与批次 ID,支持断点续传与游标重置;同步日志写入数据库。GUI 基于 Tkinter/ttk,后台线程执行同步与状态刷新,通过 after() 回到主线程更新界面;托盘使用 pystray。配置采用 YAML,区分开发配置与运行配置,原子写入保存。deploy 模块实现部署引导状态机、ODBC 驱动检测/安装与自启动注册。核心模块用 Cython 编译为 .pyd 以保护源码,开发时可切换源码优先加载。配套 pytest 单元/集成/生产模拟测试,以及按模板生成测试数据的工具。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论