『Python - Xlwings』Excel报表自动化中常用函数/方法

本文分享了使用xlwings进行Excel项目开发的实用方法,包括创建可视化应用、数据操作、格式设置、行列操作、工作表管理及自动化任务。通过实例展示了如何快速写入数据、调整格式、执行公式,以及利用xlwings实现更高级的功能,如单元格合并、隐藏和删除等。

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

用xlwings做了几个项目,总结些个人常用的方法
e n v env env: → \rightarrow x l s i n g s : xlsings: xlsings: 0.22.2

创建可视的excel app

import xlwings as xw
app = xw.App(visible=True, add_book=False)
app.display_alerts = False
app.screen_updating = True
wb = app.books.open(r'C:\Users\testing\testing.xlsx')
# 激活sheet对象,实例化testing.xlsx内的Sheet1
sht = wb.sheets['Sheet1']

r a n g e 方法 range方法 range方法

写入数据

为A2(特定某一个)单元格赋值
sht.range(‘A2’).value = 1

在A2处写入列表(若参数为True,列表纵向写入)
sht.range(‘A2’).options(transpose=False).value = [1,2,3]

在A2处写入(去除index和header的)DataFrame
sht.range(‘A2’).options(pd.DataFrame, index=False, header=False).value = df

在A2处写入公式
sht.range(‘A2’).formula = ‘=SUM(B2:C2)’

将A2处的内容复制至A4
sht.range(‘A2’).copy()
sht.range(‘A4’).paste()

在A2处写入工作表跳转链接(显示testing,链接至file的Sheet2工作表)
sht.api.Hyperlinks.Add(Anchor=sht.range(‘A2’).api, Address=‘’, SubAddress=“‘Sheet2’!A1”, ScreenTip=‘’, TextToDisplay=‘testing’)


单元格属性的设置/参数的获取

合并单元格A2~D4
sht.range(‘A2:D4’).merge()

取消合并A2处单元格
sht.range(‘A2’).unmerge()

清除A2~D4处的内容和格式
sht.range(‘A2:D4’).clear()

清除A2~D4处的内容,但保留格式sht.range(‘A2:D4’).clear_contents()

设置单元格A2格式为General
sht.range(‘A2’).number_format = ‘General’


行/列操作

获取第20行的行高
height = sht.range(‘20’).api.RowHeight

获取第20列的列宽
width = sht.range(‘20’).api.ColumnWidth

隐藏第20~25行
sht.range(‘20:25’).api.EntireRow.Hidden = True

隐藏第20~25列
sht.range(‘20:25’).api.EntireColumn.Hidden = True

删除第20~25行
sht.range(‘20:25’).api.EntireRow.Delete()

删除第20~25列
sht.range(‘20:25’).api.EntireColumn.Delete()

检测单元格A1所在的行共使用了多少列
used_col_num = sht.range('A1).end(‘right’).column

检测单元格A1所在的列共使用了多少行
used_row_num = sht.range('A1).end(‘right’).row

s h e e t 方法 sheet方法 sheet方法

新建一个名为new_sht的工作表
wb.sheets.add(‘new_sht’)

复制Sheet1,将其拷贝命名为Sht_1_copy(该工作表内所有内容都与原表一致)
wb.sheets[‘Sheet_1’].copy(name=‘Sht_1_copy’)

删除工作表Sheet1
wb.sheets[‘Sheet1’].delete()

行高列宽自适应
sht.autofit(‘rows’) 或 sht.autofit(‘r’)
sht.autofit(‘columns’) 或 sht.autofit(‘c’)
sht.autofit()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值