批量把excel数据逐行按固定格式excel模板生成单个excel
时间: 2023-07-07 13:16:16 浏览: 246
可以使用Python中的`openpyxl`库实现批量把Excel数据逐行按固定格式Excel模板生成单个Excel文件的功能。
大致思路如下:
1. 使用`openpyxl`库读取Excel模板文件。
2. 创建一个新的Excel文件,并根据模板文件中的格式设置表头和单元格样式。
3. 遍历Excel文件中的每一行数据。
4. 将Excel模板文件中的格式复制到新Excel文件中,并填充对应的数据。
5. 保存填充好数据的Excel文件。
代码示例:
```python
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, Alignment
# 加载Excel模板文件
template_wb = load_workbook('template.xlsx')
template_sheet = template_wb.active
# 创建一个新的Excel文件
wb = Workbook()
sheet = wb.active
# 复制Excel模板文件的表头
for col_num, cell in enumerate(template_sheet[1], 1):
sheet.cell(row=1, column=col_num, value=cell.value)
sheet.cell(row=1, column=col_num).font = Font(bold=True)
sheet.cell(row=1, column=col_num).alignment = Alignment(horizontal='center')
# 复制Excel模板文件的单元格格式和数据
for row_num, row in enumerate(template_sheet.iter_rows(min_row=2), 2):
for col_num, cell in enumerate(row, 1):
sheet.cell(row=row_num, column=col_num).value = cell.value
sheet.cell(row=row_num, column=col_num).font = cell.font
sheet.cell(row=row_num, column=col_num).alignment = cell.alignment
# 读取Excel中的数据
col1 = row[0].value
col2 = row[1].value
col3 = row[2].value
# 填充Excel模板中的数据
sheet.cell(row=row_num, column=1, value=col1)
sheet.cell(row=row_num, column=2, value=col2)
sheet.cell(row=row_num, column=3, value=col3)
# 保存生成的Excel文件
wb.save('output.xlsx')
```
以上代码将会按照Excel模板文件的格式复制一个新的Excel文件,并将Excel文件中每一行的数据填充到新Excel文件中对应的单元格位置。在Excel模板文件中需要设置好表头和单元格样式,用于复制到新Excel文件中。