openpyxl Font类TypeError:传入color参数意外报错,代码版本未变更
解决openpyxl中Font(color=...)报错的问题
可能的原因及解决步骤
排查同名类冲突
你的代码大概率是引入了其他同名的Font类,覆盖了openpyxl原生的Font类。可以在导入后打印类的模块路径确认:from openpyxl.styles.fonts import Font print(Font.__module__)正常输出应为
openpyxl.styles.fonts,如果不是,说明存在冲突类,需要调整导入方式或重命名冲突的类。核实运行环境的版本
即便你确认代码和版本未变更,也可能存在运行环境混乱的情况。先打印当前openpyxl版本:import openpyxl print(openpyxl.__version__)若输出不是3.1.2,说明实际运行的环境并非你预期的,需切换到正确的虚拟环境后重新安装对应版本。
使用完整路径实例化Font
暂时绕过导入冲突问题,直接用完整模块路径创建Font对象:main.cell(row=row, column=col).font = openpyxl.styles.fonts.Font(color='00808080')若此方式正常运行,即可确认是导入阶段的类覆盖问题。
清理Python缓存文件
项目目录下的__pycache__缓存文件夹可能残留旧代码,删除该文件夹后重新运行程序,排除缓存干扰。
内容的提问来源于stack exchange,提问作者rudz33
相关产品推荐
相关产品推荐

