Python——xlwings基本使用

Xlwings

中文官网

  1. 支持xlx、xlxs格式
  2. 与其他库对比

  1. xlwings逻辑表

  1. 使用

应用->工作簿->工作表->范围

  • 应用:一个应用(一个xlwings程序)
  • 工作簿(book)
  • 工作表(sheet)
  • 范围:行列

1、写入Excel

import xlwings as xw

# 创建一个实例app
app = xw.App();
# 工作簿
wb = app.books.add();
# 工作表
sht = wb.sheets['sheet1'];
# 范围
sht.range('a1').value = '我是a1';
sht.range('a2').value = '我是a2';
# 保存
wb.save('demo1.xlsx');
# 关闭
wb.close();
app.quit();

记得写入完成后保存文件、关闭文件并关闭应用

这里默认打开两个excel,如果指向打开一个需要添加一个设置,在创建App时不允许添加

app = xw.App(add_book=False);

如果不想看到Excel写入过程可以添加一个不可见

app = xw.App(visible=False);

完整写法为

app = xw.App(add_book=False,visible=False);

sheets后面跟的时[],而range后面时()

保存文件时需要加上后缀

2、写入常规操作

2.1 指定单元格操作

sht.range('a1').value = '我是a1';

2.2 写入一行

sht.range('c4').value = [0,1,2,3,4]
# 等效于
sht.range('c4:g4').value = [0,1,2,3,4]

列表插入默认插入一行

2.3 插入一列

sht.range('c5').options(transpose=True).value = [1,2,3,4]

2.4 插入行列范围

sht.range('d7').value = [[1,2],[3,4]]

这里采用二维列表

3、读Excel操作

app = xw.App(visible=True,add_book=False)
wb = app.books.open('demo22.xlsx')
sht = wb.sheets['sheet1']
# 读取指定单元格
print('读取指定单元格')
print(sht.range('a1').value)
# 读取一行
print('读取一行')
print(sht.range('c4:g4').value)

# 读取一列
# 读取一列时不需要加转置操作
print('读取一列')
print(sht.range('c5:c8').value)

# 读取行列(范围)
print('读取行列')
print(sht.range('d7:e8').value)

posted @ 2023-03-07 13:04  摩天仑  阅读(1193)  评论(0编辑  收藏  举报