在cmd命令窗口下pip下xlwings库
具体在cmd下输入命令行:pip install xlwings
安装失败,根据报错自行百度。
导入xlwings库
import xlwings as xw
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应用。
sht=wb.sheets[0]
taskdata=sht.range('A1').expand('table').value #整表读取
sht.range('A{}'.format(nrow)).value=datares #写入表格
# 引用某指定sheet
sht=xw.books['工作簿名称'].sheets['sheet的名称']
# 激活sheet为活动工作表
sht.activate()
# 清除sheet的内容和格式
sht.clear()
# 清除sheet的内容
sht.contents()
# 获取sheet的名称
sht.name
# 删除sheet
sht.delete
# 引用当前活动工作表的单元格
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其实质是调用的win32com中的方法调用vba中自带的方法
利用xlwings调用相关的api查看调用的参数可以在xlwings中的constants中查看
由于vba excel 有工作簿和工作表及应用的对象,相关调用的方法在相关的对象之后添加 .api.方法进行调用。
可以参照vba的官方教程:vba官方教程
相关调用api的时候可以适当的增加一些vba的结构语法