openpyxl模块实现给Excel写入数据

发布时间 2023-04-10 17:15:44作者: 同淋雪

openpyxl模块实现给Excel写入数据

一、安装OpenpyXl

pip install OpenpyXl

使用时在代码内

from openpyxl import Workbook

或者

from openpyxl import load_workbook

前者可创建Excel文件,后者可加载Excel文件

二、使用Workbook

部分代码示例

from openpyxl import Workbook
from openpyxl.styles import PatternFill  # 填充模式

# 省略部分代码,只展示有关部分

# 现在的时间
systime = dt.datetime.now().strftime('%F')

wb = Workbook()

# 为sheet命名
ws = wb.create_sheet(systime)

# 带样式填充列名
ws.cell(1, 1, "Changeset").fill = PatternFill(fill_type='solid', start_color='7FFFD4')

ws.cell(1, 2, "Owner").fill = PatternFill(fill_type='solid', start_color='7FFFD4')
ws.cell(1, 3, "Date").fill = PatternFill(fill_type='solid', start_color='7FFFD4')

ws.cell(1, 4, "Jira").fill = PatternFill(fill_type='solid', start_color='7FFFD4')
ws.cell(1, 5, "Summary").fill = PatternFill(fill_type='solid', start_color='7FFFD4')
ws.cell(1, 6, "Changes").fill = PatternFill(fill_type='solid', start_color='7FFFD4')

# 写数据
for i in range(len(DataSet)):
    ws.cell(i + 2, 1, DataSet[i]["Changeset"])
    ws.cell(i + 2, 2, DataSet[i]["Owner"])
    ws.cell(i + 2, 3, DataSet[i]["Date"])
    ws.cell(i + 2, 4, DataSet[i]["br"])
    ws.cell(i + 2, 5, DataSet[i]["Summary"])
    ws.cell(i + 2, 6, ("".join(DataSet[i]["Changes"])))

print("表格已生成")
# 保存
wb.save("jira.xlsx")

注:wb.save()这个操作将覆盖已存在的文件

三、使用load_workbook

from openpyxl import load_workbook

#加载excel,注意路径要与脚本一致
wb = load_workbook('demo.xlsx')
#激活excel表
sheet = wb.active

向工作表中写入数据

from openpyxl import load_workbook

#加载excel,注意路径要与脚本一致
wb = load_workbook('demo.xlsx')
#激活excel表
sheet = wb.active

#向excel中写入表头
sheet['a1'] = '姓名'
sheet['b1'] = '性别'
sheet['c1'] = '年龄'

#向excel中写入对应的value
sheet.cell(row=2, column=1).value = '张三'
sheet.cell(row=2, column=2).value = '男'
sheet.cell(row=2, column=3).value = 20

wb.save('demo.xlsx')
print('数据写入成功!')

注:wb.save()这个操作将覆盖已存在的文件