Python自动化办公:xlwt教程(二)

本文详细介绍xlwt库中图片插入、单元格合并、窗口冻结及显示设置等实用技巧,并教授如何利用help函数获取函数语法。

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

85390ca23cdbd0f15d6723d7ee14d659.gif

在后台回复【阅读书籍】

即可获取python相关电子书~

Hi,我是山月。

今天给大家分享Python自动化办公:xlwt万字教程文末提到的一些工作表的常用设置。

主要分为五个部分:

xlwt插入图片、合并单元格、冻结窗口、显示设置,以及如何得出函数的语法。

当然,具体用到的的函数都在dir函数:新手到大师的进阶之路最后一张图里面:

71801b91a21bc7a4a63ec0804849f15b.png

下面我们正式开始!

1

插入图片    

在工作里,我们经常会需要在excel里插入图片。虽然xlwt能做到,但是比较麻烦,因为它只能插入bmp格式的图片

所以对于一般的png/jpg格式的图片,我们得先把它转换成bmp格式的

一共有两种转换方法:

1)如果你在用wps的话,我们可以选择用wps图片打开图片,然后点击【格式转换】,就可以直接把图片换成bmp格式了。

40952eb1a727fd7394cde590da49c204.png

2)如果你没在用wps的话,可以通过转换工具来进行转换。

ae4129501b240d214e7e1776aec58cef.png

转换工具获取方法:在本公众号后台回复【图片转换】。

1)语法

insert_bitmap(filename, row, col, x = 0, y = 0, scale_x = 1, scale_y = 1)

参数说明:

  • filename:位图名称

  • row、col:插入的单元格位置(row:行数、col:列数)

  • x、y:位图相对单元格左上方的起始位置向右、向下偏移的像素

  • scale_x、scale_y:相对原图宽高的比例(=1:原图插入,<1:缩小原图,>1:放大原图)

2)实例

现在我们先准备好一张bmp格式的图片,并把它放入py文件所在目录。山月的图片:

97c8364ce649ff8105482db34f441a97.png

代码:

import xlwt  #导入xlwt

wb = xlwt.Workbook()    #创建一个工作薄
ws = wb.add_sheet('sheet1')    #创建一个工作表

ws.insert_bitmap('是山月呀.bmp', 1, 1, 0, 2, scale_x=0.1, scale_y=0.1)   #在单元格B2插入位图

wb.save('插入图片.xls')  # 保存excel

结果:

e7b30fb7d765f8d714ea7474daf25703.png

2

合并单元格      

合并单元格应该是我们用的较多的一个设置了,来看看xlwt怎么实现吧。

1)语法

#合并单元格
merge(r1, r2, c1, c2, style=<xlwt.Style.XFStyle object>)  

#合并单元格并写入数据
write_merge(r1, r2, c1, c2, label='', style=<xlwt.Style.XFStyle object>)

参数说明:

  • r1 、r2:合并的行数,从起始行(r1)合并到终止行(r2),从0开始

  • c1 、c2:合并的列数,从起始列(c1)合并到终止列(c2),从0开始

  • label与style在xlwt教程里说过

2)实例

import xlwt  #导入xlwt

wb = xlwt.Workbook()    #创建一个工作薄
ws = wb.add_sheet('sheet1')    #创建一个工作表

ws.write(0, 0, '正常')         #在A1写入
ws.merge(1, 2, 0, 3)    # 合并第2-3行的1-4列,即合并A2:D3
ws.write_merge(1, 3, 4, 5, '合并单元格')  # 合并E2:F4,并写入内容

wb.save('合并单元格.xls')    # 保存excel

结果:

e5f42e4874f0a928a4fafe34bea2a110.png

3

冻结窗口    

注意:如果要设置冻结窗口的话,得先把工作表设置成冻结状态,然后再设置要冻结的行数、列数。

1)语法

set_panes_frozen(value)     #设置冻结状态。0:不设置冻结;1:设置冻结
set_horz_split_pos(value)   #设置冻结的行数
set_vert_split_pos(value)    #设置冻结的列数

2)实例

import xlwt  #导入xlwt

wb = xlwt.Workbook()    #创建一个工作薄
ws = wb.add_sheet('sheet1')    #创建一个工作表

ws.set_panes_frozen(1)  # 设置冻结
ws.set_horz_split_pos(2)  #冻结前2行
ws.set_vert_split_pos(2)  #冻结前2列    

ws.write(0, 0, '冻结了') 
ws.write(1, 1, '冻结了') 
ws.write(2, 2, '没被冻结') 

wb.save('冻结窗口.xls')  #保存excel

结果:

84cf1059d2d7c7c985da28dd11a6333b.png

4

显示设置    

这部分我们分享三个常用的设置:标题、网格线、公式。

其中标题是指:

f8a5f4715d018ef69269d56cc68f25bc.png

1)语法

set_show_headers(value)     #是否设置隐藏标题。显示标题(默认):1;隐藏:0
set_show_grid(value)        #是否设置隐藏网格线。显示网格线(默认):1;隐藏:0
set_show_formulas(value)    #是否设置隐藏公式。隐藏公式(默认):0;显示:1

2)实例

import xlwt  #导入xlwt

wb = xlwt.Workbook()    #创建一个工作薄
ws = wb.add_sheet('sheet1')    #创建一个工作表

ws.set_show_headers(0)   #隐藏标题
ws.set_show_formulas(1)  #显示公式
ws.set_show_grid(0)      #隐藏网格线

ws.write(0, 0,'A1单元格')
ws.write(1,1, xlwt.Formula("-(1+1)")) #写入公式

wb.save('表显示设置.xls')  #保存excel

结果:

929e92620116755bd7a7d40a3a066a16.png

可以对比看看默认的界面:

80545be8a2efc794c4ae94a783cd2ceb.png

5

语法获取   

山月,你说的这些我都会了,但是我要怎么去学其他的属性呢?

就喜欢你这学习的劲儿~61b11863c66935727160009ac94d5e5d.png7ff99c4125d73a5a5840fd9e1ccd9ff0.png594ef900fbd598bf33b30b2057f18dc5.png

不知道大家还记不记得在dir函数:新手到大师的进阶之路里,山月在讲dir函数的使用时,用了一个内置函数--help函数。

help函数的语法:

help([object])     #object:对象

help函数功能:查看对象(object)的说明。

现在我们来看看如何用help函数获取插入位图(insert_bitmap)的语法吧:

import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet('sheet1') 

help(ws.insert_bitmap)

运行结果:

Help on method insert_bitmap in module xlwt.Worksheet:


insert_bitmap(filename, row, col, x=0, y=0, scale_x=1, scale_y=1) method of xlwt.Worksheet.Worksheet instance

诺,语法就出来啦。

好啦,今天的内容就到这~

已经到底啦~(≧▽≦*)/~

7961b4e7cdeb2b1c18e82ed5dc8f80dd.png 往 期 推 荐 54861fe2877db3470a870a7a223e8edf.png

Python自动化办公:xlwt万字教程

2021-12-20

7abb7ad3e2f7b9126f0147219ac42019.png

dir函数:新手到大师的进阶之路

2021-12-22

f0e2fb0fc3d9658e4f648866ab2ab26d.png

建议收藏:68个Python内置函数详解

2021-12-05

df36b5082ab67639844de2116112d6da.png

e48e6714b52d907fef25bd60d51f79ef.gif

您的“点赞”、“在看”和 “分享”是我们产出的动力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值