如何用Python以电子表格格式打开xlsx文件?
解决方案
问题原因
os.system("data.xlsx")会调用系统默认关联程序打开文件,你的系统中.xlsx格式默认关联的是记事本,所以才会用记事本打开。要实现用Excel打开,需要明确指定启动Excel程序并加载目标文件。
可行方法
方法1:使用subprocess调用Excel程序(推荐)
这种方式可以明确指定Excel的路径,避免依赖系统关联设置:
import subprocess # 根据你的Office版本调整Excel路径,以下是Office 365/2016的默认路径 excel_executable = r"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" target_file = r"data.xlsx" # 启动Excel并打开文件 subprocess.run([excel_executable, target_file], check=True)
如果是32位Office,路径可能是C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE,根据你的实际安装情况修改即可。
方法2:使用系统start命令
利用Windows的start命令直接指定用Excel打开文件,无需硬编码完整路径:
import os # 用Excel打开指定文件 os.system('start EXCEL.EXE "data.xlsx"')
这个命令会让系统自动查找Excel的可执行文件并启动,适合不确定Excel具体安装路径的场景。
方法3:修改系统默认关联(可选)
如果希望以后双击文件默认用Excel打开,可以手动修改系统的文件关联设置:右键data.xlsx → 打开方式 → 选择Microsoft Excel → 勾选“始终使用此应用打开.xlsx文件”。之后再用os.system("data.xlsx")就会默认用Excel打开了。
内容的提问来源于stack exchange,提问作者void_117
相关产品推荐
相关产品推荐

