openpyxl用来操作xlsx文件(不支持xls文件) 以下用wb代表WorkBook类,ws代表WorkSheet类,cell代表单元格。
工作簿:
工作簿可以看作一个xlsx文件。
示例:
from openpyxl import *
# 新建一个工作簿对象
wb = Workbook()
# 保存工作簿
wb.save('hello.xlsx')
# 加载工作簿
wb = load_workbook('hello.xlsx')
工作表:
使用wb['title']获取名为title的工作表
示例:
from openpyxl import *
# 新建一个工作簿对象
wb = Workbook()
# 新建两个的工作表,0表示在第一个位置插入,-1在倒数第二个,默认倒数第一个
# title1在最后一个位置插入
# title2在倒数第二个位置插入
ws1 = wb.create_sheet('title1')
ws2 = wb.create_sheet('title2', -1)
# 获取当前工作表
ws = wb.active
# 输出工作表名称
print(ws.title)
# 切换到title2
ws = wb['title2']
# 切换到title2
wb.active = 1
ws = wb.active
单元格:
单元格的选择:
# 选择A1单元格
cell = ws['A1']
# 选择A2到B3的单元格
cells = ws['A2': 'B3']
cells = ws['A2: B3']
# 选择第2行到第3行的单元格
cells = ws[2: 3]
# 选择第A列到第B列的单元格
cells = ws['A': 'B']
cells = ws['A: B']
# 选择所有行/列
cells = ws.rows
cells = ws.columns
# iter_rows()方法与iter_cols()方法
# 参数:min_col, max_col, min_row, max_row, values_only
# 参数:最小列,最大列,最小行,最大行,是否只返回值
# 返回第1,2列,3,4行的所有行
cells = ws.iter_rows(1, 2, 3, 4,True)
单元格的值:
使用ws['A1'].value获取A1的值 使用ws['A2': 'B3'].values获取A2到B3的值,每行为一个元组
单元格属性:
操作函数:
# 合并单元格
# 参数start,end
# 参数start_row, end_row, start_column, end_column
ws.merge_cells('A1', 'B3')
ws.merge_cells(start_row=1, end_row=2, start_column=3, end_column=4)
# 取消合并单元格
# 参数start,end
# 参数start_row, end_row, start_column, end_column
ws.unmerge_cells('A1', 'B3')
ws.unmerge_cells(start_row=1, end_row=2, start_column=3, end_column=4)
# 插入图片
# 参数,img,anchor
img = Image('hello.png')
ws.add_image(img=img, anchor='A1')
# 颜色填充
# PatternFill参数:
# patternType,fgColor,bgColor,填充类型,前景色,背景色
ws['A1'].fill = ws['A1'].fill = PatternFill(patternType='solid', fgColor='203040')
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有