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

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

本文介绍如何利用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。