使用python自动创建excel报表

Posted

技术标签:

【中文标题】使用python自动创建excel报表【英文标题】:Using python to automate the creation of excel reports 【发布时间】:2020-05-03 02:49:51 【问题描述】:

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

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

问题: 每份报告都是不同的 :( 但是我为所有报告确定了大约 14 个“相似结构”。不同之处在于我们报告的公司希望他们的报告如何显示。

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

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

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

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

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

【问题讨论】:

这似乎是一个项目要求,而不是一个问题。表现出一些最小的努力总是更好in code - 所以其他人可以提供帮助。 【参考方案1】:

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

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

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

【讨论】:

谢谢。我会调查这些。您所说的问题将是非编码人员确实需要更新和创建新地图并随着规格的变化编辑旧地图。 xlwings、PyXll、DataNitro 和 FlyingKoala 都对此有用。每个人都有自己的怪癖。 PyXll 有很多菜单集成。 FlyingKoala 需要有人编写一些代码,然后相当容易地集成。这是一个工作示例flyingkoala.readthedocs.io/en/latest/…

以上是关于使用python自动创建excel报表的主要内容,如果未能解决你的问题,请参考以下文章

Excel连接Mysql创建自动化报表

Kettle报表自动化

Python操作Excel实现自动化报表

用 Python 自动化操作 Excel 制作报表,真的是太方便啦!!!

3w+字,Python办公自动化之Excel报表自动化,看这一篇就够了!

EXCEL 我想用日期命名自动建立多个工作表