缺点:①入门难:VBA代码太不友好了 , 很容易就从入门到放弃 ②数据处理量有限:一旦数据量到十几万行的话 , Excel就撑不住了 , 可能你花了三天三夜做好的报表 , 就直接卡到打不开了 。
二、掌握Python , 就写代码来实现报表自动化优点:能够实现很多自动化设计 , 从读取数据到输出数据都可以完成
缺点:①需要操作者学会写代码 , 学习成本比较高 。 ②数据处理量有限:如果说企业数据量涉及千万上亿条数据 , 一年可能要做上千张报表 , python加载数据就会极其卡顿 , 影响工作 。 ③一些复杂的报表 , 尤其是非数据类的报表用Python开发也不适合 , 比如下方打印货单的凭证、发票套打 。
说了这么多 , 还是举个例子来实践一下吧
一次自动化的报表制作 , 通常需要经历这样几个步骤:
- 连接并操作数据库
- 数据处理+自动化报表
- 设置定时邮件发送给相关人员
Python可以连接并操作各种数据库 , 包括Oracle、PostgreSQL、MySQL、SQL Server 等等 。 不同的数据库 , 需要安装不同的第三方模块 , 比如说 , 要操作Oracle , 那么通常需要先安装 cx_Oracle:
pip install cx_Oracle
在开始操作数据库之前 , 需要先创建一个数据库引擎 , 然后再连接数据库:
from sqlalchemy import create_engine# 创建数据库引擎engine = create_engine('oracle://user:password@ip_address:1521/orcl')# 连接数据库con = engine.connect()
如果你有数据库账号拥有创建表的权限 , 那么就可以对数据库进行增删改查的操作 。
# 增con.execute(\"insert into usr(id name) values(1 'Jim')\")
con.execute(\"insert into usr(id name) values(2 'Joe')\")# 删con.execute('delete from usr where id = 1')# 改con.execute(\"update usr set name = 'Jack' where id = 2\")# 查sql = 'select id name from usr where id = :id'import pandas as pd
df = pd.read_sql(sa.text(sql) engine params={'id': 2)
df
另外 , 利用Python去执行各种SQL 语句 , 自动完成更加复杂的数据库操作 。
【自动化|Excel、Python靠边站,这才是实现报表自动化最快的方法】2、数据处理+自动化报表
在Python执行SQL后 , 取出原始数据
想要实现的报表如下 , 这张日报表是用来监控每一天的销售、发货和用户反馈情况
代码如下(非完整版):
3、设置定时邮件发送给相关人员
以上就是一个典型的日报表 , 源数据不变 , 报表格式不变 , 就可以通过这段脚本自动生成 , 生成的报表也可以实现推送 , 利用Python实现自动化发送邮件 。
三、学会简单SQL , 用报表工具一步实现报表自动化刚刚举了Excel和Python的例子 , 但其实这两个方法各有各的优缺点 , 那有没有一种工具能融合两个方法的优点 , 又同时能避开它们的缺点?其实市面上已经有很多成熟的报表工具 , 可以解决这个问题 , 我拿知名度较高的报表工具FineReport举例吧 。 (文末可免费获得激活码)
相比较Python , 在都能一步取数、输出数据的前提下 , FR不需要写几百行的复杂代码 , 只需要学会简单的SQL语言 , 就能取数设计报表 , 绝大多数没有代码基础的人也能上手 , 且因为用的是类Excel的操作界面 , 使用习惯也不会有太大的改变 。 再相较Excel , FR能够直接从数据库取数 , 数秒处理几万行的数据 , 不用再苦苦等着加载报表 。
说了这么多 , 还是和上面一样 , 举个例子 , 看FR是如何让报表自动化 , 让打工人摆脱报表折磨的 。 其实很简单 , 只需解决三个难题:
相关经验推荐
- 4G|三星GalaxyA13、A23宣布采用大猩猩玻璃5保护、5000mAh电池
- 小米科技|荣耀magic3pro、华为p50和小米12pro之间,该如何选?
- 一加科技|8K视频+骁龙888、8+256G直降1500!刘作虎这次下血本了
- 中兴|20G运存、6.92英寸大屏幕,512G才三千出头,中兴确实很给力
- 华为|该来的还是来了,英、美方面传来消息,华为的态度也很坚决
- 无线蓝牙|旗舰升级版、性价比之选/西圣Ares Pro无线蓝牙耳机
- tp-link|踏青拍照、宅家上分都好用,送这款高颜值旗舰给女神不会错
- excel|EXCEL合并单元格并保留单元格内的值
- 三星|三星S22Ultra评测:内置Spen,搭载1亿像素摄像头、骁龙8处理器
- 加拿大鹅|卖点大揭秘!TCL、华为、小米98英寸巨幕电视细节大不同
