xlwings目录
前言
一、xlwings是什么?
二、xlwings的下载
三、xlwings的使用
1.引入库
2.打开excel
3、获取sheet对象
4、对单元格的操作
5、读取一段区间的值
6、设置单元格的格式
8、排序
9、删除重复值
10、插入公式
11、保存和关闭文件
随着python自动化测试的学习,我们也需要操作excel,比如读写功能,看了其他的一些库,还是的xlwings使用范围比较广操作也比较好上手,本文是关于的使用进行记录,若有不妥可随时留言。
首先关于处理excel的库的能力一览
大多数人基本都会使用功能较全的xlwings库,以下是本人的操作分享
# 直接在pycharm执行此命令/cmd执行
pip install xlwings
import xlwings as xw
# visible代表操作excel是否是可视化的 add_book表示不会同时出现一个空白工作簿
app = xw.App(visible=True, add_book=False)
# 打开excel
wb = app.books.open("D:/testcase.xlsx")
# 新建excel
wb = app.books.add()
# 获取sheet对象
sht = wb.sheets["sheet名"]
# 新建sheetsht1 = wb.sheets.add()
# 新建sheet表,放在指定sheet的后面
sht1 = wb.sheets.add('新建工作表名', after=sht)
# 获取单元格对象
b3 = sht.range('B3')
# 获得单元格的值
b3.value
# 也可以根据行列号进行读取
b3 = sht.range(2,3).value
# 给单元格赋值
b3.value = "2023/4/20"
# 读取一段区间的值 是多维列表
b57 = sht.range('B5:D7').options(ndim=2).value
b57 = sht.range('B5:D7').value# 运行结果
[[2.0, 4.0, None], [1.0, 3.0, None], [None, None, None]]
[[2.0, 4.0, None], [1.0, 3.0, None], [None, None, None]]# 和上述结果一致
b57 = sht.range((5,5),(7,7)).options(ndim=2).value
# 设置第4列 列宽。(1,4)为第1行第4列的单元格
sht.range(1,4).column_width = 5
# 设置第1行 行高
sht.range(1,4).row_height = 20# 设置单元格的填充颜色
sht.range('B3').color = "#28a745"
# 设置字体大小
sht.range('B3').size = 24
# -4108 水平居中。 -4131 靠左,-4152 靠右。
b3.api.HorizontalAlignment = -4108
# -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
b3.api.VerticalAlignment = -4130"""合并拆分单元格"""
# 合并单元格 C8 到 D8
sht.range('C8:D8').api.merge()
# 拆分单元格。
sht.range('C8:D8').api.unmerge()
# 各种颜色的16进制代码在如下链接可以查看
【经验分享】CSDN如何修改文字的字体、大小以及颜色_csdn怎么改变字体大小_一条余弦Cos的博客-CSDN博客【经验分享】CSDN如何修改文字字体、大小以及颜色文章目录【经验分享】CSDN如何修改文字字体、大小以及颜色1、CCS、HTML知识2、修改字体3、修改大小4、修改颜色5、首行缩进 为什么有的人的博客就很好看,是炫彩的,而我们的博客就是黑白的海洋呢?如果不会HTML、CSS的话自然是没法编辑的啦~ Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。但是它本身是不支持修改字体、字号与颜色等功能的! CSDN中的markhttps://blog.csdn.net/Sunnyside_/article/details/115112120
# 排序使用方法:
# 1、选择需要排序的区域。这里用 'a2' 是因为排序的数据送从第二行开始的,第一行是标题,不应该参与排序。
# 2、选择按那一列进行排序 Key1=sht.range('c2').api, 这里选择的是按 第 C 列排序,所以这里选择 c1 和 c2 都可以。
# 3、Order1=1 为升序,2为降序。
sht1.range('a2',(rows,columns)).api.Sort(Key1=sht.range('c2').api, Order1=1)
# RemoveDuplicates(3) 为按第3列内容进行删除重复项。
sht1.range('a2',(rows,columns)).api.RemoveDuplicates(3)
# 插入公式
sht1.range('d1').formula = '=sum(e1+f1)'
wb.save(“保存名”)
#关闭excel
wb.close()
app.quit()