python操作excel进阶

xlwings使用

xlwings的介绍

  • xlwings是python的一个第三方库,使用python调用它可以进行excel的操作,使我们的工作效率大大提高,虽然使用vba也是可以的,但却没有xlwings灵活,vba中的库也没有xlwings多。
  • xlwings能够方便的读写excel文件中的数据,并且能够进行单元格格式的修改。

xlwings的基本操作

建立excel表的连接

  • 在建立连接的时候会直接打开工作簿
wb=xw.Book('./datas/薪资表.xlsx')

获取工作表更改数据

import xlwings as xw
wb=xw.Book('./datas/薪资表.xlsx') # 相对路径
sht = wb.sheets["sheet1"] #原工作表名称不区分大小写
print(sht.range("A1").value) # 获取A1数据
sht.range("A1").value=sht.range("A1").value+'00' # 修改A1的数据
sht.range("B6:E10").value # 选取某个区域
listvalue=['张三','男','35','销售部']
sht.range("B6:E6").value=listvalue # 给区域赋值

保存工作簿,并关闭工作表

wb.save('./datas/薪资表.xlsx')
wb.close()

xw.App使用

通过App方法修改原工作表

import xlwings as xw  # 导入库

app = xw.App(visible=True, add_book=False) #visible表示实例是否可见 add_book表示是否增加工作表
# 打开工作簿
workbook = app.books.open(r".\薪资表.xlsx")
# 打开工作表
sht = workbook.sheets["sheet1"]
# 写入数据
newvalue = sht.range("B6:E10").value
listvalue = ['小张2', '男1', 29, '销售部经理']
sht.range("B6:E6").value = listvalue
workbook.save()
workbook.close()
app.quit()

在原工作簿中添加新表格

  • 创建新表格
  • 在表格中添加数据
import xlwings as xw

app = xw.App(visible=True, add_book=False)
# 打开工作簿
workbook = app.books.open(r'./薪资表.xlsx')
# 打开原来工作表
sht = workbook.sheets['sheet1']
# 添加新的工作表,也可以添加多个工作表
new_sht = workbook.sheets.add("奖金01")
new_sht.range('A1').value = "奖金职工"
for m in workbook.sheets:
    if m.name == "奖金":
        m.range("A1").value = "奖金10000"
print(workbook.sheets[0])
# 进行最后的关闭与保存
workbook.save()
workbook.close()
app.quit()
上一篇:Python提取 “Excel文本框” 内容,这个需求头一次见,1000个表,10行代码!


下一篇:C#并行编程---PLINQ