xlwings库的基本使用笔记

xlwings的安装;

在cmd命令窗口下pip下xlwings库

具体在cmd下输入命令行:pip install xlwings

安装失败,根据报错自行百度。

导入xlwings库

import xlwings as xw

 

总结操纵打开excel的方式:

1.利用xlwings中的Book

filepath=r'C:\Users\gztsalfiel\Desktop\helpdesk 任务mark表.xlsx'
wb=xw.Book(filepath)#利用该方式操纵excel 
sht=wb.sheets[0]

2.创建应用打开excel,但这种方式需要注意打开后记得关闭

app = xw.App(visible=False, add_book=False)
wb=app.books.open(filepath)
sht=wb.sheets[0]
wb.close()
app.quit()
app.kill()

3.可以选择创建新的sheet表

wb=app.books.add()

这种情况在操纵excel的时候需要注意;当遇到错误的时候,需要扑捉异常,关闭相关打开的excel应用。

操纵excel的方法;

1.建立好相关的应用后读取工作表

sht=wb.sheets[0]

2.读取表中单元格中的值及赋值

taskdata=sht.range('A1').expand('table').value  #整表读取
sht.range('A{}'.format(nrow)).value=datares  #写入表格

3.操纵excel 的一些方法

1.sheet 常用的api


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

2.range常用的api

 

# 引用当前活动工作表的单元格

rng=xw.Range('A1')


# 加入超链接
# rng.add_hyperlink(r'www.baidu.com','百度',‘提示:点击即链接到百度')


# 取得当前range的地址
rng.address
rng.get_address()


# 清除range的内容
rng.clear_contents()


# 清除格式和内容
rng.clear()


# 取得range的背景色,以元组形式返回RGB值
rng.color


# 设置range的颜色
rng.color=(255,255,255)


# 清除range的背景色
rng.color=None


# 获得range的第一列列标
rng.column


# 返回range中单元格的数据
rng.count


# 返回current_region
rng.current_region


# 返回ctrl + 方向
rng.end('down')


# 获取公式或者输入公式
rng.formula='=SUM(B1:B5)'


# 数组公式
rng.formula_array


# 获得单元格的绝对地址
rng.get_address(row_absolute=True, column_absolute=True,include_sheetname=False, external=False)


# 获得列宽
rng.column_width


# 返回range的总宽度
rng.width


# 获得range的超链接
rng.hyperlink


# 获得range中右下角最后一个单元格
rng.last_cell


# range平移
rng.offset(row_offset=0,column_offset=0)


#range进行resize改变range的大小
rng.resize(row_size=None,column_size=None)


# range的第一行行标
rng.row


# 行的高度,所有行一样高返回行高,不一样返回None
rng.row_height


# 返回range的总高度
rng.height


# 返回range的行数和列数
rng.shape


# 返回range所在的sheet
rng.sheet


#返回range的所有行
rng.rows


# range的第一行
rng.rows[0]


# range的总行数
rng.rows.count


# 返回range的所有列
rng.columns


# 返回range的第一列
rng.columns[0]


# 返回range的列数
rng.columns.count


# 所有range的大小自适应
rng.autofit()


# 所有列宽度自适应
rng.columns.autofit()


# 所有行宽度自适应
rng.rows.autofit()

 

 

books 工作簿集合的api
# 新建工作簿
xw.books.add()
# 引用当前活动工作簿
xw.books.active

 

 

sheets 工作表的集合
# 新建工作表
xw.sheets.add(name=None,before=None,after=None)
# 引用当前活动sheet
xw.sheets.active

 

 

调用相关的api时可以参照vba的函数方法进行调用

调用api其实质是调用的win32com中的方法调用vba中自带的方法

利用xlwings调用相关的api查看调用的参数可以在xlwings中的constants中查看

由于vba  excel 有工作簿和工作表及应用的对象,相关调用的方法在相关的对象之后添加 .api.方法进行调用。

可以参照vba的官方教程:vba官方教程

相关调用api的时候可以适当的增加一些vba的结构语法

你可能感兴趣的:(python,xlwings,笔记)