Xlwings相关知识点以及自动刷excel

本文介绍了xlwings的基本对象及其API,详细阐述了如何利用xlwings刷新Excel透视表,并结合pandas和matplotlib进行数据操作和图表绘制,展示了从SQL获取数据到填充Excel和绘制图形的流程。

一、xlwings的基本对象

xlwings基本对象
Xlwings 的每个基本对象都有对应的api可以调用:

import xlwings as xw

# app:
app = xw.App(visible = True, add_book = False)
app.quit()
# 刷新excel结束后执行之后的语句
app.api.CalculateUntilAsyncQueriesDone()

#book
wb = app.books.open(file_root)
wb = app.books.add()
wb = app.books.active

wb.save(file_root)
wb.close()
#刷新excel
wb.api.Refresh()

#sheet:
# 引用某指定sheet
sht=xw.books['工作簿名称'].sheets['sheet的名称']
# 激活sheet为活动工作表
sht.activate()
# 清除sheet的内容和格式
sht.clear()
# 清除sheet的内容
sht.clear_contents()
# 获取sheet的名称
sht.name
# 删除sheet
sht.delete

#range:
sht.range('A:C').value = 
# 加入超链接
# rng.add_hyperlink(r'www.baidu.com','百度',‘提示:点击即链接到百度')
# 取得当前range的地址
rng.address
rng.get_address()
# 清除range的内容
rng.clear_contents()
# 清除格式和内容
rng.clear()
# 设置range的颜色
rng.color=(255,255,255)
# 清除range的背景色
rng.color=None
# 获取公式或者输入公式
rng.formula='=SUM(B1:B5)'
rng.autofit()
# 所有列宽度自适应
rng.columns.autofit()
# 所有行宽度自适应
rng.rows.autofit()

其他的操作可以参考:xlwings常用教程

二、用xlwings 刷excel透视表

1.需要将基本sql代码写入excel数据源中
2.先刷数据源;在刷透视表

import pandas as pd
import xlwings as xw
#input_file 是一个做好的excel模板
input_file = 'xxxx'
output_file = 'xxxx'
app = xw.App(visible = True,add_book = False)
wb = app.books.open(input_file)
#刷第一次:数据源
wb.api.RefreshAll()
app.api.CalculateUntilAsyncQueriesDone()
#刷第二次 透视表
wb.api.RefreshAll()
app.api.CalculateUntilAsyncQueriesDone()
wb.save(output_file)
wb.close()
app.quit()

三、xlwings与pandas、matplotlib相结合输出图

xlwings和pandas、matplotlib结合也是非常好的
1.执行sql 获取数据 转化成dataframe
2.可以填数据、可以画图,最后使用 wb.sheets[‘xx’].pictures.add(fig,top = 一个位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值