办公室大神级骚操作:Python控制Excel实现自动化办公

本文介绍如何使用Python结合Pandas和Xlwings库实现Excel报表自动化,通过编写脚本连接数据库,填充数据到Excel模板,提高工作效率。打包成EXE桌面程序后,双击运行即可自动更新数据,让文员工作更加便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多做文员的小姐姐一直在说做报表好麻烦呀,但一直找不到一个合适的报表工具,这不… 思来想去,感觉 Excel 就一定程度上能做可视化的, 除了不能动态交互外, 其他都挺好.。今天分享的就是一个关于如何用 Python来自动化Excel 报表, 解放双手, 提高工作效率。

总体解决方案
在这里插入图片描述
输出报表
当然是测试用的假数据啦。
在这里插入图片描述
自动化Py脚本

基本思路:

  1. 准备模板数据需要的 SQL
  2. 用 Pandas 连接 数据库 并执行 SQL, 返回 DataFrame
  3. 用 Xlwings 直接打开 Excel, 并将这些 DataFrame 填充到写死的单元格
  4. 保存并退出

具体代码如下呀:

import pandas as pd 
import xlwings as xw
import pymssql


# 各品类月同期 
def get_last_year_sale(start_date, end_date):
    """各品类同期销量, 对比19年"""
    sql_01 = f"""
    SELECT 
      品类
      , SUM(数量) AS QTY
    FROM XXX
    WHERE 是否电商 = 1 
      AND 销售时间 BETWEEN DATEADD(YEAR, -2, '{start_date}') AND DATEADD(YEAR, -2, '{end_date}')     
    GROUP BY 品类
    """
    df = pd.read_sql(sql_01, con=con)
    df_xtc = df[df['品类'] == 'A品类'][['品类', 'QTY']]
    df_bbk = df[df['品类'] == 'B品类'][['品类', 'QTY']]
    return df_xtc, df_bbk 
    
def get_anget_sale(start_date, end_date):
        """返回各品类, 各区域的时间段销量"""
        sql = f"""
        SELECT 
          品类
          , AGENT
          , SUM(数量) AS QTY
          , ROW_NUMBER()OVER(PARTITION BY 品类 ORDER BY SUM(数量) DESC) MY_RANK
        FROM XXX
        WHERE 是否电商 = 1 
          AND 销售时间 BETWEEN '{start_date}' AND '{end_date}'
        GROUP BY AGENT, 品类
        """
        df = pd.read_sql(sql, con=con)
        df_xtc = df[df['品类'] == 'A品类'][['AGENT', '
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值