python利用openpyxl实现利用excel每行数据填入对应模板批量生成excel

发布时间 2023-09-15 11:31:08作者: Coder-Wang

一、openpyxl常见操作

可以参考:
https://blog.csdn.net/JunChen681/article/details/126053206

1、openpyxl把excel分成了三层

Workbook 是对工作簿的抽象(工作簿,一个excel文件包含多个sheet。)
Worksheet 是对表格的抽象(工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。)
Cell 是对单元格的抽象(单元格,存储数据对象)

2、得到workbook

# 创建excel
workbook = openpyxl.Workbook()
# 读取excel
wb = load_workbook('./test.xlsx')

3、访问workbook属性

wb.read_only 是否可读

4、得到worksheet

  • 创建ws
ws1 = wb.create_sheet('Mysheet')     #插入到最后(默认)
ws2 = wb.create_sheet('Mysheet',0)    #插入到最前
ws3 = wb.create_sheet('Mysheet',-1)    #插入到倒数第二
  • 删除ws
wb.remove('Mysheet')                #删除工作表(方法一)
  • 获取存在ws
wb.sheetnames             # 获取文档所有工作表名称
wb['Sheet1']             # 获取指定的工作表
wb.active                 # 获取当前活跃的工作表

5、获取worksheet中属性

ws.sheet_properties.tabColor sheet按钮颜色
ws.max_column 最大行数
ws.max_row 最大列数
ws.min_column 最小列号
ws.min_row 最小行号

  • 插入空白行列
    ws.insert_rows(3,2) # 在第三行前面插入两行
    ws.insert_cols(2) # 在第2列前面插入一列

  • 添加行列号
    ws.row_dimensions[row].height = 25 # row 是行号
    ws.column_demensions[col].width = 15.5 # col是列号,必须填的是字母.

6、获取cell

ws.cell(1,1).value = 'python' 注意先行后列
ws.append(['存货名称','单位','数量']) # 写入一行数据