以下是一个示例代码,可根据实际情况进行调整:

import openpyxl

# 打开原表格
wb = openpyxl.load_workbook('原表格.xlsx')

# 获取第一个工作表
ws = wb.worksheets[0]

# 冻结窗格
ws.freeze_panes = ws['A3']

# 获取所有姓名
names = set()
for row in ws.iter_rows(min_row=2, max_row=2):
    for cell in row:
        names.add(cell.value)

# 生成新表格
for name in names:
    new_ws = wb.create_sheet(title=name)
    new_ws.freeze_panes = ws['A3']
    header = [cell.value for cell in ws[2]]
    new_ws.append(header)
    for row in ws.iter_rows(min_row=3):
        if row[1].value == name:
            values = [cell.value for cell in row]
            new_ws.append(values)

# 保存修改后的表格
wb.save('修改后的表格.xlsx')
``
利用python30以上的版本将excel表格拆分成若干个新表首先冻结窗格筛选第二行按照姓名把所有行内容生成新的表格生成的新表格按照筛选的姓名命名并带有原表中冻结的窗格

原文地址: https://www.cveoy.top/t/topic/goJp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录