当前环境:Win10 x64 + MS office 2016 + Python3.7 + openpyxl=3.0.9
1 写入表格
from openpyxl import Workbook
# 创建一个 workbook
workbook_w = Workbook()
# 获取被激活的 worksheet
worksheet_w = workbook_w.active
# 1 批量插入数据
# 设置一行数据
worksheet_w.append(['序号','书名','作者','定价'])
# 元组格式
rows = [('1','人间词话','王国维','¥22.8'),('2', '阿Q正传','鲁迅','¥36.0')]
for row in rows:
worksheet_w.append(row)
# 列表格式
data = [
['3', '自卑与超越','[奥]阿尔弗雷德·阿德勒 ','¥39.8'],
['4', '史记','司马迁','¥899.0'],
]
for row in data:
worksheet_w.append(row)
# 2 单个设置单元格数据
# ['5', '人生非若春日蔷薇','郁达夫','¥46.0','中图网']
# 方式一
worksheet_w["A6"] = "5"
# 方式二
cell = worksheet_w["B6"]
cell.value = "人生非若春日蔷薇"
# 方式三
worksheet_w.cell(row=6, column=3, value = "郁达夫")
worksheet_w.cell(row=6, column=4).value = "¥46.0"
worksheet_w.cell(6, 5).value = "中图网"
# python 数据类型可以被自动转换
import datetime
worksheet_w['A7'] = datetime.datetime.now()
# 3 操作 sheet
# 创建一个 sheet
# 默认插在工作簿末尾
sheet1 = workbook_w.create_sheet()
# 创建一个 sheet 名为 成功
sheet2 = workbook_w.create_sheet("成功")
# 插入在工作薄的第一个位置 测试发现是在 sheet2 的后面
sheet3 = workbook_w.create_sheet(0)
sheet3.title = "工具书"
# 在工作薄的最前面创建一个表
sheet4 = workbook_w.create_sheet("外语",0)
# 设置背景颜色 RGB
sheet4.sheet_properties.tabColor = "4EEE94"
# 复制 sheet, 会在最后一个
sheet5 = workbook_w.copy_worksheet(worksheet_w)
sheet5.title = "复制的表格"
# 删除 sheet
# workbook_w.remove(sheet3)
# 保存
workbook_w.save(filename=r'新图书.xlsx')
2 表格
说明:
Workbook: 工作簿,一个Excel文件即一个Workbook。
Worksheet: 工作表,一个Workbook可以包含多个Worksheet,不同的Worksheet有不同的名字。
Cell: 单元格,存储数据的对象。
# 参考
OpenPyXl的使用 - 简书
Python的Excel 神器 —— OpenPyXl - 知乎
python_openpyxl_操作excel_wb.active-CSDN博客
python使用openpyxl修改已存在表格的单元格的值_openpyxl 改变cell的值-CSDN博客
python使用openpyxl操作excel常用方法大全_openpyxl官网-CSDN博客
python办公自动化之二:openpyxl写入表格数据 - 简书