脚本案例 | 把表格中的一行内容发到企业微信
SeaTable表格通常记录了成百上千的公司业务数据, 如客户信息,销售追踪等,我们往往需要把这些信息发到企业微信或者钉钉群中。当然,可以直接通过截图或者手动输入的方法进行发送,可是如果列比较多的表格,这样操作比较麻烦,如截图截不全,或者手动输入漏掉一些关键信息等。在此,可以通过灵活定制表格的脚本来快速进行表格信息的发送。从而可以提高企业协作的高效性和信息精准度。以下以企业微信为例介绍详细的步骤:
配置说明
配置企业微信群组机器人,右键点击群组, 选择“添加群机器人“
全屏点击“新创建一个机器人“,填写机器人名称(如:robot-test), 之后点击“添加机器人“;添加成功后,出现如下:(具体的使用方法可以参照"配置说明“)
此时就已经可以通过生成的webhook地址发送一个post请求,来进行消息推送了。
脚本如下(data中content信息将会发送到群中)
import requestswebhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=39f5cb53-b909-4e30-9d99-75782"headers = { "Content-Type": "application/json"}data = { "msgtype": "text", "text":{ "content": "大家好,我是新人, 请多关照" }}requests.post(url=webhook_url, headers=headers, json=data)
表格信息发送
在SeaTable的表格中,可以通过锁定光标所在的当前行,来获取该行的所有数据信息。把需要发送的数据信息格式化成易读的content, 来进行发送。
在指定的业务表格中新建脚本文件
在该脚本中写下如下代码:
import requestsfrom seatable_api import context"""该脚本展示利用企业微信群组机器人进行表格中数据的发送。"""WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=39f5cb53-b909-4e30-9d99-75782" # 建立群机器人之后自动生成的webhook地址,可以通过post请求该地址进行消息发送HEADERS = { "Content-Type": "application/json"}COLUMNS = ['姓名', '邮箱', '电话', '地址'] # 发送消息的列,可以根据实际情况进行自定义# 构造发送文本消息的json数据结构def json_text_msg(msg): return { "msgtype": "text", "text": { "content": msg, } }# 格式化发送表格的消息def format_msg(current_row, columns): ''' current_row: 光标所在表格的行 columns: 需要发送消息列 ''' if not current_row: return "" else: msg_list = ["%s: %s" % (column, current_row.get(column)) for column in columns if current_row.get(column)] return msg_list and "\n".join(msg_list) or ""def send_msg(): current_row = context.current_row # 只能在表格脚本环境中运行 msg = format_msg(current_row, COLUMNS) if msg: requests.post(url=WEBHOOK_URL, json=json_text_msg(msg), headers=HEADERS) else: print('please click a row or check the data in columns "%s" of clicked row' % (", ".join(COLUMNS)))send_msg()
脚本保存之后,可以发送该光标所在的行的信息,此时可以通过点击一下行(出现蓝框即可),在点击一下运行,就可以把当前行的关键数据推送到企业微信群中,十分方便。
总结
以上, 通过简单的企业微信的配置和脚本的编写就可以实现表格中信息的发送与共享, 避免了截图以及手动打字等带来的信息不全以及信息错误等弊端, 从而提高了企业团队之间交流协作的效率。同时,类似于企业微信, 钉钉同样具有类似于微信群组机器人的机制,操作方法可以进行复制。