xlwings的基本操作

  1. 新建工作簿及、插入值并关闭

首先先导入需要的模块。

import pandas as pd
import xlwings as xw
import numpy as np

接着新建一个test.xlsxexcel文件。

# visible-是否打开相应excel文件,即是否可视化当前工作簿;
# add_book=True,此时立即创建一个有sheet表的工作簿
# add_book=False,此时立即创建一个没有sheet表的工作簿
app = xw.App(visible=True, add_book=False)
wb = app.books.add()

在这里插入图片描述

此时就能获取wb的sheet表,进行操作了。

sht = wb.sheets[0]

# a1到d1单元格插入值
sht.range("a1:d1").value = ["序号", "姓名", "年龄", "性别"]

可以实时看到excel文件的结果:
在这里插入图片描述

接下来编辑完就能保存并关闭。

# 保存到当前文件夹下
wb.save("./test.xlsx")
# 关闭此工作簿
wb.close()

此时关闭工作簿之后,因为app还在,所以excel整体界面是这样子的。

在这里插入图片描述

接下来再关闭app就行。

app.quit()
  1. 打开已有文件、查看/删除单元格值

打开工作簿有两种方式:

# 方式一:推荐,更灵活
app = xw.App(visible=True, add_book=False)
wb = app.books.open("test.xlsx")

# 方式二
wb = xw.Book("test.xlsx")

接下来获取到sheet,就可以对表中的单元格编辑。

sht = wb.sheets[0]

# 插入数据
sht.range("a2").value = [[1, "小明", 18, "男"], [2, "小红", 17, "女"]]

# 查看b2数据,b2='小明'
b2 = sht.range("b2").value

# 清除单元格a2到d3数据
sht.range("a2:d3").clear()

进行完上述操作,最终表格跟刚打开时的内容一样。

以上就是最基础的操作。当然也可以通过xlwings更改单元格颜色、更改行高列宽、插入公式。

  1. 更改单元格颜色、行高列宽、插入公式

# 将b1单元格颜色改为淡蓝色
sht.range("b1").color = (135,206,250)

# 获取b1单元格行高和列宽,并改为18, 25
width = sht.range("b1").column_width
height = sht.range("b1").row_height
sht.range("b1").column_width = 25
sht.range("b1").row_height = 18

# 插入公式,在a2中插入当前日期
sht.range("a2").value = "=CONCATENATE(b1, c1)"
# 或者
sht.range("a3").formula = "=CONCATENATE(b1, c1)"

# 查看a3单元格的公式,如果是sht.range("a3").value返回值
sht.range("a3").formula_array

这些就是xlwings的常见操作了,之后还会放上和VBA交互使用的各类操作。