需求
这次,他们的需求是这样的:我们在组织一场业绩PK赛,这份PK赛需要每小时发送一次最新数据以刺激参赛者们,但是同时,直接发表格到微信群里又太low了.所以一开始设计的流程是这样的:
整个流程下来,假设0分整出数,1分钟刷模型,设计花10分钟贴数,到发微信群,各种沟通交流细节调整,15分能发到群里就不错了.那个时候,参赛者极有可能觉得数据已经不够热了,想着还是等下一批吧.下一批又遥遥无期,可能发出来的时候都20,甚至30分了.参赛激情以外,BI和设计还得一整天蹲在电脑前,啥都不敢做.人力,时间,激情都没了
所以我简化了一下流程
全靠Excel的这个功能:照相机
实现
首先我们得把这个隐藏功能’捞’出来
照相机
功能是不在任何可见的菜单里面的,所以我们得去菜单→快速工具栏里面去把它捞出来
怎么用
- 选中区域
- 点击
照相机
- 点击粘贴
它的功能好像就是截图…它的功能之一是截图,但是它是,更高级的截图.高级在哪呢?它是数据可以联动的截图.
当我们改动原表中的任意一个数字,可以发现,照相机里面的数字也跟着变了
出海报
利用这一特性,我们只需要设计给上半截的图片,再在Excel里面对图片进行调色,就可以形成一张海报啦,例如下面这样
为了达成更统一的风格,肯定要根据具体情况调整字体,底色和边框的
自动刷新
如果加上一点Python代码,甚至可以每小时自动刷新出图.可惜微信不让自动化,否则就可以自动发送海报到微信群了.附一段自动刷新的代码吧,仅供参考
def wkb_Operate(wkb_path,sleep_time=10):
from win32com.client import Dispatch
from time import sleep
xlapp = Dispatch('Excel.Application')
try:
xlapp.visible = 1
wkb = xlapp.Workbooks.open(wkb_path)
wkb.RefreshAll()
sleep(sleep_time)
wkb.Save()
wkb.Close(1)
except Exception as e:
print(e)
finally:
xlapp.quit()
pass
代码需要用到pywin32
外部模块
注意事项
- Excel经常崩溃,建议使用
Office 365
版本,因为它有自动保存功能,可以防止wkb.Close(1)
这句代码弹窗,以防后续任务像多米诺骨牌一样无法运行 - 刷新到发送,可以参考下我的流程
- 个人流程涉及到的Python外部模块有
- pywin32
- pillow