首页 > 解决方案 > 使用python自动创建excel报表

问题描述

因此,我即将开始一个自动创建财务报告的项目。我想看看是否有人在做类似的事情,或者在我开始时对最佳实践有一些建议。

范围: 每个季度,我们的团队都会手工汇总 250 到 600 份自定义 Excel 报告。我们使用各种数据源,例如 PDF、大型机数据、其他 excel 工作簿、word 文档等等。这项工作大约是 80% 的手动输入,查看我们需要的图形的其他报告,然后将它们实际输入到 Excel 工作簿中。20% 的数据是使用 Excel 的数据源链接和其他 SAS 报告从大型机导入的

问题: 每份报告都不同 :( 但是,我为所有报告确定了大约 14 个“相似结构”。差异来自我们报告的公司希望他们的报告显示的方式。

整理一份报告平均需要 30 天。至关重要的是,它们 100% 准确,完成的工作在签署并准备发送给客户之前要经过 4 到 5 个其他人。

这个想法是创建一个系统来“映射”每个报告。该地图将显示每个单元格应该包含的内容。如果它包含手动输入的值,而不是值所在的位置以及它是如何分解的。然后让程序为每个季度的报告查找该值,并为新报告使用地图。或者,如果有公式或大型机调用,则地图将存储调用需要从大型机获取当前信息的信息,尽管 Excel 工作簿已经在单元格中存储了此信息。

最终,我想使用这些地图为新客户构建一份新报告,现在需要 3 个月才能完成。

我认为使用 python 来做到这一点可能是最好的,但我也可以使用 VBA,或者我什至愿意学习另一种编程语言

我很想听听任何可能对实现这一目标的最佳方法有想法的人。如果我能得到许可,也许我可以上传一份测试报告以供审查。如果我不能,我会创建一个虚拟报告。我目前没有为此编写任何代码

标签: pythonexcelvbams-access

解决方案


有一些很棒的工具可以帮助集成 Python 和 Excel。您面临的挑战很明显是手动输入。如果可以将它们简化为数据库或 Excel 文件之类的输入流进行查询,并且您的报告从这些来源进行整理,则可能会获得一些优势。

xlwings https://www.xlwings.org/太棒了。它促进了 Python 和 Excel 之间的双向通信。您仍然需要编写代码,但对于 xlwings,它可以是 VBA 或 Python。

如果您的报告需要定义计算和工作,例如商业案例或某些财务模型,其中计算的定义需要由非编码人员审核,您可能需要考虑 FlyingKoala https://github.com/bradbase/flyingkoala(使用 xlwings 和其他库)。免责声明:我编写了 FlyingKoala,它还很年轻,但它是为定制的数值建模而设计的,旨在减少编写的 Python 数量。


推荐阅读