xlwings - Make Excel Fly! xlwings——让Excel飞起来!(最清晰、最细致、最全、最新的xlwings常规API介绍)

在Python操作Excel的模块中,必须要推荐xlwings。

要想学好、会用xlwings,对于常规的API要熟悉起来。

先发下xlwings英文版的介绍文档链接,英语大神们可以直接去那里汲取营养:

https://docs.xlwings.org/en/stable/

本文攫取其中的常规API,和大家分享下。

一、xlwings和Excel的对应关系

 二、每段程序的Title

import xlwings as xw
import os
app = xw.App(visible = False, add_book = False)

三、操作Excel工作簿的API

 1、打开Excel工作簿

excel_path = r'E:\Andy\Data Source\xlwings\Make Excel Fly\Test.xlsx'
wb = app.books.open(excel_path)
wb = xw.Book(excel_path)

2、新建Excel工作簿

wb_new = app.books.add()

3、保存Excel工作簿

wb.save()
wb_new.save(r'E:\Andy\Data Source\xlwings\Make Excel Fly\wb_new.xlsx')

4、关闭Excel工作簿

wb.close()

5、退出Excel程序

app.quit()

6、返回Excel工作簿的名称

wb.name

7、返回Excel工作簿的绝对路径

wb.fullname

8、强制关闭Excel程序

for wb in xw.apps.keys():
    wb = 'taskkill/pid ' + str(wb) + ' -t -f'
    os.system(wb)

四、操作Excel工作表的API

1、打开Excel工作表 

ws = wb.sheets['Sheet1']
ws = wb.sheets[0]
ws = wb.sheets(1)

2、新建Excel工作表

wb.sheets.add(name='Add', after='Sheet1')

3、删除Excel工作表

wb.sheets['Add'].delete()

 4、复制Excel工作表

sheet_copy = wb.sheets[0]
sheet_copy.copy(after = wb.sheets[0], name = 'Copy')

5、清空

(1)内容和格式

wb.sheets['Copy'].clear()

(2)内容

wb.sheets['Copy'].clear_contents()

6、sheet的名字

(1)读取sheet的名字

sheet_name = wb.sheets[0].name
print(sheet_name)

(2)修改sheet的名字

wb.sheets[0].name = 'newname'
print(wb.sheets[0].name)

7、获取所有sheet的名字

sheet_names = []
for i in wb.sheets:
    sheet_names.append(i.name)
print(sheet_names)

8、读取最大行列

(1)非连续区域

max_row = wb.sheets[0].used_range.last_cell.row
max_column = wb.sheets[0].used_range.last_cell.column
shape = wb.sheets[0].used_range.shape

(2)连续区域

max_row = wb.sheets[0]['A1048576'].end('up').row
max_column = wb.sheets[0]['XFD1'].end('left').column

(3)最后一个单元格

last_cell = chr(max_column+96)+str(max_row)
last_cell = chr(shape[1]+96)+str(shape[0])

9、自动调整行、列

wb.sheets[0].autofit('c')

五、操作Excel单元格的API

 1、读取单元格

(1)单元格

a = wb.sheets[0].range('A1').value

(2)一行 or 一列

b = wb.sheets[0].range('A1:A3').value
c = wb.sheets[0].range('A1:C1').value

(3)多行多列

d = wb.sheets[0].range('A1:B3').value

(4)全部单元格

e = wb.sheets[0].range('A1').expand('table').value

(5)非连续区域

full_values = wb.sheets[0].range('A1:' + last_cell).value

2、写入单元格

(1)单元格

wb.sheets[0].range('A6').value = '123'

(2)按行写入

wb.sheets[0].range('A6').value = [1,2,3]
wb.sheets[0].range('A6').expand('right').value = [1,2,3]
wb.sheets[0].range('A6').expand('down').value = [1,2,3]

(3)按列写入

wb.sheets[0].range('A6').value = [[1],[2],[3]]
wb.sheets[0].range('A6').options(transpose = True).value = [1,2,3]

(4)多行多列

wb.sheets[0].range('A6').value = [[1,2],[3,4],[5,6]]
wb.sheets[0].range('A6').expand('table').value = [[1,2],[3,4],[5,6]]
wb.sheets[0].range('A6').options(expand = 'table').value = [[1,2],[3,4],[5,6]]

3、range的引用

(1)名称

a = wb.sheets[0].range('A1').value
b = wb.sheets[0].range('A1:A3').value
c = wb.sheets[0].range('A1:C1').value
d = wb.sheets[0].range('A1:B3').value
e = wb.sheets[0].range('A1').expand('table').value

(2)索引

a = wb.sheets[0].range((1,1)).value
b = wb.sheets[0].range((1,1),(3,1)).value
c = wb.sheets[0].range((1,1),(1,3)).value
d = wb.sheets[0].range((1,1),(3,2)).value
e = wb.sheets[0].range((1,1)).expand('table').value

4、设置单元格格式

(1)合并

wb.sheets[0].range('A1:C1').merge()

(2)取消合并

wb.sheets[0].range('A1:C1').unmerge()

(3)填充颜色

wb.sheets[0].range('A1:C1').color = (191,191,191)

5、设置字体格式

(1)字体

wb.sheets[0].range('A1').font.name = '宋体'

(2)大小

wb.sheets[0].range('A1').font.size = 20

(3)颜色

wb.sheets[0].range('A1').font.color = (255,0,0)

(4)粗体

wb.sheets[0].range('A1').font.bold = True

(5)斜体

wb.sheets[0].range('A1').font.italic = True

六、总结

综上所述,xlwings在操作Excel方面绝对是:yyds!

  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值