python使用openpyxl读写excel

参考链接 https://www.cnblogs.com/an-wen/p/11171479.html

以下代码的openpyxl版本为3.0.5

新建表

from openpyxl import Workbook
from openpyxl import load_workbook
# 创建示例
wb = Workbook()
sheet = wb.active
sheet.append(['A1值', 'B1值', 'C1值'])
wb.save(filename='D:/test.xlsx')
# end

sheet= wb.create_sheet("sheetName") #插入到最后
sheet= wb.create_sheet("sheetName", 0) #插入到最开始的位置

#sheet取名
sheet.title = "titleName"
sheet= wb.create_sheet(title="表名")

sheet.sheet_properties.tabColor = "ff4047" #默认的sheet的tab是白色的,可以修改

取值与赋值

# 读取单元格的值
cell_value = sheet.cell(row=1, column=1).value
cell_value = sheet['A1'].value

# 设定单元格的值
sheet['A2'] = 'cell值'
sheet.cell(row=2, column=1).value = 'cell值'
sheet.cell(row=2, column=1, value='cell值')

#逐行写
#添加一行到当前sheet的最底部(即逐行追加从第一行开始) 
#iterable必须是list,tuple,dict,range,generator类型的。 
#如果是list,将list从头到尾顺序添加。 如果是dict,按照相应的键添加相应的键值。
sheet.append(['A1值', 'B1值', 'C1值'])

# 公式计算formulae
sheet["A1"] = "=SUM(1, 1)"
sheet["A1"] = "=SUM(B1:C1)"

读写操作

from openpyxl import Workbook
from openpyxl import load_workbook
# 读写示例
def read_write():
    wb = load_workbook(filename='D:/test.xlsx')
    sheets = wb.sheetnames
    sheet = wb[sheets[0]]

    rows = sheet.max_row  # 行数
    columns = sheet.max_column  # 列数数

    # 迭代所有的cell 起始位置是1,1,不是0,0
    for i in range(rows):
        for j in range(columns):
            cell_value = sheet.cell(row=i + 1, column=j + 1).value
            sheet.cell(row=2, column=1).value = 'cell值' #赋值举例
            print(cell_value)

    # 迭代所有行
    for row in sheet.rows:
        line = [col.value for col in row]
        print(line)

    wb.save(filename='D:/test.xlsx')

你可能感兴趣的:(python,excel)