python openpyxl

目录

  openpyxl 简介

  openpyxl 创建表格

  openpyxl 加载已经存在的表格

  openpyxl 创建sheet

  openpyxl 获取sheet

  openpyxl 单元格

  openpyxl 单元格使用公式

  openpyxl 合并/取消单元格

  openpyxl 插入图片

openpyxl 简介

  openpyxl 是一个 Python 库,用于读取/写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件。

  操作Excel表格的模式,只支持03版本以后的表格。03之前Excel表格的后缀名xls,03之后的Excel表格的后缀名xlsx。

openpyxl 创建表格

from openpyxl import Workbook

wb = Workbook()

# get the active worksheet
ws = wb.active

# active worksheel的名字
ws.title = "New Title"

# 数据直接存入表格中
ws['A1'] = 42

# 行添加数据
ws.append([1, 2, 3])

# 覆盖原A2中的数据
ws['A2'] = 66

# 保存表格的名字
wb.save("sample.xlsx")  

openpyxl 加载表格

from openpyxl import load_workbook

wb = load_workbook("test/sample.xlsx")
# get all sheetnames from workbook
print(wb.sheetnames)  

 openpyxl cells

一个单元格

   1. 给单元格赋值

ws["A1"] = 1

  2. 获取单元格对象

c = ws["A1"]

  3. 给单元格赋值并获取对象

c = ws.cell(row=2, column=3, value=10)

多个单元格

  1. 获取多个单元格对象

cell_range = ws["A1": "B2"]
# cell_range 是一个元组,其中包含两个元组,分别是第一行和第二行的单元格对象

  or

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
    for cell in row:
       print(cell)

"""
<Cell Sheet1.A1>
<Cell Sheet1.B1>
<Cell Sheet1.C1>
<Cell Sheet1.A2>
<Cell Sheet1.B2>
<Cell Sheet1.C2>
"""

  or

for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
   for cell in col:
        print(cell)

"""
<Cell Sheet1.A1>
<Cell Sheet1.A2>
<Cell Sheet1.B1>
<Cell Sheet1.B2>
<Cell Sheet1.C1>
<Cell Sheet1.C2>
""" 

  2. 获取一列单元格

colC = ws["A"]

  3. 获取多列单元格

col_range = ws["A:B"]

  4. 获取行单元格

row2 = ws[2]

  5. 获取多行单元格

row_range = ws[2:4]

  6. 获取表格中的所有行和列

ws.rows
# or
ws.columns

  7. 获取表格中所有的值

for row in ws.values:
   for value in row:
     print(value)

  or

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2, values_only=True):
    print(row)

openpyxl 创建sheet

ws = wb.create_sheet(title="chrome")

openpyxl 获取sheet

ws = wb["chrome"]
print(ws["A1"].value)
for row in ws.values:
    for value in row:
        print(value) 

openpyxl 公式

ws["A3"] = "=SUM(A1, A2)"

openpyxl 合并/取消单元格

ws.merge_cells("B3:C3")
ws.unmerge_cells("B3:C3")

  

posted @ 2021-12-23 10:53  zhuang6  阅读(228)  评论(0)    收藏  举报