注意點:這里的sheet參數默認是已經存在的sheet表,如不存在該sheet,則使用add方法新增即可,示例:
wb = xw.Book(r"C:\Users\Desktop\result.xlsx") sht = wb.sheets.add('result') # 新增sheet頁時,可選擇新增位置,由參數before或after控制
xw.App(visible=False) # 后台寫入,不展示excel界面
寫入列
一次寫一列
import xlwings as xw
def write_col(io, sheet, col='A1', data=None):
"""
寫入一列數據
:param io: Excel文件
:param sheet: sheet,int或者str類型
:param col: 哪一列,如:'A1'
:param data: 要寫入的數據,list類型
:return:
"""
wb = xw.Book(io)
if isinstance(sheet, str):
sht = wb.sheets(sheet)
else:
sht = wb.sheets[sheet]
sht.range(col).options(transpose=True).value = data
wb.save()
wb.app.quit()
一次寫多列
注意點:此方法所需的data參數必須是list嵌套,如:[[1, 9], [2, 8], [3, 7], [4, 6]],並且里面的每個list的長度必須一致
def write_col(io, sheet, col='A1', data=None):
"""
寫入多列數據
:param io: Excel文件
:param sheet: sheet,int或者str類型
:param row: 從哪一列開始寫入,如:'A1'
:param data: 要寫入的數據,嵌套list類型
:return:
"""
wb = xw.Book(io)
if isinstance(sheet, str):
sht = wb.sheets(sheet)
else:
sht = wb.sheets[sheet]
sht.range(col).value = data
wb.save()
wb.app.quit()
寫入效果如下:

寫入行
一次寫一行
注意點:此方法所需的data參數是list類型,如:[1, 2, 3, 4]
def write_row(io, sheet, row='A1', data=None):
"""
寫入一行數據
:param io: Excel文件
:param sheet: sheet,int或者str類型
:param row: 哪一行,如:'A1'
:param data: 要寫入的數據,list類型
:return:
"""
wb = xw.Book(io)
if isinstance(sheet, str):
sht = wb.sheets(sheet)
else:
sht = wb.sheets[sheet]
sht.range(row).value = data
wb.save()
wb.app.quit()
一次寫多行
注意點:此方法所需的data參數必須是list嵌套,如:[[1, 2], [3, 4], [5, 6]],並且里面的每個list的長度必須一致
def write_row(io, sheet, row='A1', data=None):
"""
寫入多行數據
:param io: Excel文件
:param sheet: sheet,int或者str類型
:param col: 從哪一行開始寫入,如:'A1'
:param data: 要寫入的數據,嵌套list類型
:return:
"""
wb = xw.Book(io)
if isinstance(sheet, str):
sht = wb.sheets(sheet)
else:
sht = wb.sheets[sheet]
sht.range(row).options(transpose=True).value = data
wb.save()
wb.app.quit()
寫入效果如下:

