Python将九九乘法表写入Excel完整教程 | Python数据处理技巧
- Python
- 2025-07-16
- 651
Python将九九乘法表写入Excel教程
Python是处理Excel文件的强大工具。本教程将向您展示如何使用Python的openpyxl库将九九乘法表写入Excel文件。您将学到如何创建Excel工作簿、操作工作表以及设置单元格格式。
准备工作
在开始之前,您需要安装openpyxl库,这是Python处理Excel文件的主要工具之一:
pip install openpyxl
步骤1: 创建Excel工作簿
首先,我们需要创建一个新的Excel工作簿和工作表:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取活动工作表
ws = wb.active
# 设置工作表标题
ws.title = "九九乘法表"
步骤2: 生成九九乘法表数据
使用嵌套循环生成九九乘法表的数据:
# 创建数据
multiplication_table = []
for i in range(1, 10):
row = []
for j in range(1, 10):
row.append(f"{i} × {j} = {i*j}")
multiplication_table.append(row)
步骤3: 将数据写入Excel
将生成的数据写入Excel工作表:
# 添加行和列标题
ws['A1'] = "九九乘法表"
ws.merge_cells('A1:J1') # 合并第一行的单元格
# 写入行标题(1-9)
for i in range(1, 10):
ws.cell(row=2, column=i+1, value=i)
ws.cell(row=i+2, column=1, value=i)
# 写入乘法表数据
for row_idx, row_data in enumerate(multiplication_table, start=3):
for col_idx, cell_data in enumerate(row_data, start=2):
ws.cell(row=row_idx, column=col_idx, value=cell_data)
步骤4: 设置单元格样式
为Excel表格添加样式,使其更美观:
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
# 设置标题样式
title_cell = ws['A1']
title_cell.font = Font(bold=True, size=16, color="FFFFFF")
title_cell.alignment = Alignment(horizontal='center', vertical='center')
title_cell.fill = PatternFill(start_color="3498DB", end_color="3498DB", fill_type="solid")
# 设置行/列标题样式
header_fill = PatternFill(start_color="F1C40F", end_color="F1C40F", fill_type="solid")
header_font = Font(bold=True)
for i in range(2, 11):
# 行标题
ws.cell(row=i, column=1).font = header_font
ws.cell(row=i, column=1).fill = header_fill
# 列标题
ws.cell(row=2, column=i).font = header_font
ws.cell(row=2, column=i).fill = header_fill
# 设置数据区域样式
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
for row in ws.iter_rows(min_row=3, max_row=11, min_col=2, max_col=10):
for cell in row:
cell.border = thin_border
cell.alignment = Alignment(horizontal='center')
步骤5: 调整列宽并保存文件
调整列宽以适应内容并保存Excel文件:
# 调整列宽
for col in ws.columns:
max_length = 0
column = col[0].column_letter
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2)
ws.column_dimensions[column].width = adjusted_width
# 保存文件
wb.save("九九乘法表.xlsx")
print("Excel文件已成功创建!")
完整代码示例
下面是完整的Python代码,用于生成九九乘法表Excel文件:
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
ws.title = "九九乘法表"
# 生成九九乘法表数据
multiplication_table = []
for i in range(1, 10):
row = []
for j in range(1, 10):
row.append(f"{i} × {j} = {i*j}")
multiplication_table.append(row)
# 添加标题
ws['A1'] = "九九乘法表"
ws.merge_cells('A1:J1')
# 添加行列标题
for i in range(1, 10):
ws.cell(row=2, column=i+1, value=i)
ws.cell(row=i+2, column=1, value=i)
# 写入数据
for row_idx, row_data in enumerate(multiplication_table, start=3):
for col_idx, cell_data in enumerate(row_data, start=2):
ws.cell(row=row_idx, column=col_idx, value=cell_data)
# 设置标题样式
title_cell = ws['A1']
title_cell.font = Font(bold=True, size=16, color="FFFFFF")
title_cell.alignment = Alignment(horizontal='center', vertical='center')
title_cell.fill = PatternFill(start_color="3498DB", end_color="3498DB", fill_type="solid")
# 设置行列标题样式
header_fill = PatternFill(start_color="F1C40F", end_color="F1C40F", fill_type="solid")
header_font = Font(bold=True)
for i in range(2, 11):
ws.cell(row=i, column=1).font = header_font
ws.cell(row=i, column=1).fill = header_fill
ws.cell(row=2, column=i).font = header_font
ws.cell(row=2, column=i).fill = header_fill
# 设置表格边框
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
for row in ws.iter_rows(min_row=3, max_row=11, min_col=2, max_col=10):
for cell in row:
cell.border = thin_border
cell.alignment = Alignment(horizontal='center')
# 调整列宽
for col in ws.columns:
max_length = 0
column = col[0].column_letter
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2)
ws.column_dimensions[column].width = adjusted_width
# 保存文件
wb.save("九九乘法表.xlsx")
print("Excel文件已成功创建!")
最终效果
运行上述代码后,您将得到一个名为"九九乘法表.xlsx"的Excel文件,其中包含格式精美的九九乘法表:
九九乘法表
1 | 2 | 3 | |
1 | 1 × 1 = 1 | 1 × 2 = 2 | 1 × 3 = 3 |
2 | 2 × 1 = 2 | 2 × 2 = 4 | 2 × 3 = 6 |
总结
通过本教程,您学会了:
- 使用openpyxl库创建Excel工作簿和工作表
- 生成九九乘法表数据并写入Excel单元格
- 设置单元格样式(字体、颜色、对齐方式、边框)
- 调整列宽以适应内容
- 保存Excel文件
这个技能可以扩展到更复杂的数据处理任务中,如生成报告、数据分析结果导出等。
常见问题解答
Q: 如何安装openpyxl库?
A: 使用命令 pip install openpyxl
Q: 如何修改生成的Excel文件名?
A: 在wb.save()
方法中修改文件名参数
Q: 可以添加多个工作表吗?
A: 可以,使用wb.create_sheet("工作表名称")
创建新工作表
Q: 如何添加图表到Excel?
A: openpyxl支持图表功能,需要从openpyxl.chart
导入相应图表类
本文由HuangfuWengXing于2025-07-16发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://www.521pj.cn/20255714.html
发表评论