Python使用openpyxl生成N*N乘法表实战

Aria
Aria
发布时间:2026-10-12 | 2人浏览过
原创

本文介绍如何利用Python的openpyxl库,通过命令行接收参数N,自动生成N*N乘法表Excel文件。代码演示了创建工作簿、设置字体样式及填充单元格数值的完整流程,适用于Python办公自动化入门学习。

本文通过一个具体的Python编程实例,展示如何在Excel表格中创建乘法表。内容包含完整的代码实现与运行分析,供读者参考学习。

题目要求:

编写一个名为multiplicationTable.py的程序。该程序需从命令行接收一个整数N,并在Excel电子表格中生成一个N×N的乘法表。例如,通过命令行窗口传入参数:


py multiplicationRable.py 6

最终输出为一个6×6的乘法矩阵。


实现思路:

程序需完成以下功能: 从cmd命令行窗口接收参数n。 运行Python脚本,生成新的Excel文件。 生成的Excel文件包含n×n的乘法矩阵。 代码具体执行步骤如下: 导入openpyxl和sys模块。 使用openpyxl.Workbook()创建新的工作簿对象。 通过get_sheet_by_name获取工作表对象。 使用Font()创建字体样式对象(如加粗)。 利用for循环设置乘法矩阵的坐标轴标签。 利用for循环填充乘法结果至对应单元格。 调用save()方法保存文件。


完整代码示例:

#! python3

import openpyxl,sys
from openpyxl.styles import Font #输入Font代替输入openpyxl.styles.Font()
newExcel = openpyxl.Workbook() #新建工作簿对象
sheet = newExcel.get_sheet_by_name("Sheet")
n = int(sys.argv[1]) #将sys.argv接收到的参数转换为int型
fontObj = Font(bold = True) #设置字体加粗
for i in range(1,n+1):
  sheet.cell(row=i+1,column = 1).value = i #对i+1行,1列进行赋值
  sheet.cell(column = i+1,row = 1).value = i #对1行,i+1列进行赋值
  sheet.cell(row=i + 1, column=1).font = fontObj #加粗
  sheet.cell(column=i + 1, row=1).font = fontObj

# 公式输出
for k in range(2,n+2):
  for p in range(2,n+2):
   sheet.cell(row =k,column =p).value = (k-1) * (p-1)

newExcel.save("newExcel.xlsx")

运行结果展示

在cmd命令行中执行: cd 切换到程序当前目录 生成的Excel结果如下:

更多关于Python操作Excel及文件处理的技巧,可查看本站相关专题:《Python操作Excel表格技巧总结》、《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》。

希望本文所述的Python程序设计案例能对大家有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表