Xlwings 简单使用

直接上干货

#导包
import xlwings as xw

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

#visible 可以隐藏 Excel 的打开

wb = app.books.open(r’C:\Users\86115\Desktop\ReceiptHistoryExcel.xls’)

sht = wb.sheets[0]  # 第一个 sheets

#读取单个单元格 2 种方式, 可以替换掉读取单元格组件

sht.range(‘D8’).value

sht.range((8,4)).value

#批量读取 C8 到 E11 的数据

sht.range((8,3),(11,5)).value

#获取行数

last_row_index = sht.api.UsedRange.Rows.count

#获取总列数

last_columns_index = sht.api.UsedRange.Columns.count

#从 B5 为开头读取整列

sht.range((5,2),(last_row_index,2)).value

#从 B5 为开头读取整行

sht.range((5,2),(5,last_columns_index)).value

#给单元格增加 EXCEL 的公式

sht.range(5,2).formula=‘=SUM(B1:B5)’

#写数据有更强的方法

#写入一列数据

sht.range(‘A1’).options(transpose=True).value = [1, 2, 3, 4, 5, 6]

#将 1,2,3 分别写入了 A1,B1,C1 单元格中 (默认为横着写)

sht.range(‘A1’).value=[1,2,3]

#将 1,2,3 分别写入了 A1,A2,A3 单元格中 (相当于竖着写)

sht.range(‘A1’).options(transpose=True).value=[1,2,3]

#将 a1,a2,a3 输入第一列,b1,b2,b3 输入第二列 (批量写入)

list1=[[‘a1’,‘a2’,‘a3’],[‘b1’,‘b2’,‘b3’]]

sht.range(‘A1’).value = list1

#合并单元格

sht.range(‘A1:A2’).api.merge

#获取 sheet 的名称

sht.name

#保存关闭退出

wb.save()

wb.close()

app.quit()