给你分享,我是如何开发的Excel差异对比工具?

有道无术,术尚可求也,有术无道止于术。你好,我是程序员雪球,今天给你分享我新做的Excel工具。

上周,领导给我分配了一个新任务,要求我开发一个 Excel 对比桌面工具。第一次听到这个功能,我非常兴奋,立刻开始了工作。

鉴于我之前开发过电脑桌面工具,因此我决定使用 Python 与 Tkinter 库来开发这个工具。但是,如何对比 Excel 文件的差异呢?我花了一个小时调研,发现 pandas 库提供了现成的接口,于是我决定使用它。

首先,我花了半天时间设计了界面和点击按钮。工具共有两个页面:第一个页面用于选择 Excel 文件,用户可以上传两个需要对比的 Excel 文件。选中后,将保存这两个 Excel 文件的绝对路径。为此,我创建了两个按钮,分别用于选择 Excel 路径。此外,我还添加了一个 label 标签来显示文件路径,以及一个提交按钮,点击后可跳转到差异对比页面。

在第二个页面,我使用 pandas 库的 read_excel() 函数读取两个 Excel 文件,并将其转换为两个 DataFrame。接着,我使用 pd.concat([df1, df2]) 函数将它们合并为一个 DataFrame。通过 drop_duplicates() 函数,我消除了重复值,最后使用 pandas 的 to_excel() 方法将结果写入一个新的 Excel 文件,从而实现了 Excel 差异对比功能。

对于按钮部分,我生成了一个按钮列用于执行差异对比,以及一个全量执行按钮,以便用户选择单个 sheet 对比或全量对比。页面底部还添加了一个文本窗口,用于实时打印执行关键日志,如每个 sheet 的执行进展。

最后,我用 pyinstaller 工具将 .py 文件打包成可执行的 .exe 程序,点击即可运行,不需要本地配置 Python 环境。

总之,我已经完成了大部分的工作,包括界面和关键代码。如有更好的建议,请在评论区提供。

你可能感兴趣的:(工具,业务逻辑,设计模式,重构,微服务,笔记)