近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述:
当用鼠标右键在任意文件夹或电脑桌面“新建”→“ Microsoft Excel 工作表”,再用鼠标双击打开这个文件,出现如下截图的报错提示:
提示为:“Excel 无法打开文件‘新建 Microsoft Excel 工作表.xlsx’,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配”。
因为是新建的Excel文件报错,不是原有文件,所以不可能用修改扩展名的方式解决。那就只能从最根源的地方着手——扩展名在注册表中的设置。
经过在“电脑→运行”(或直接按Windows键+R)的运行弹出框中输入:regedit,进入注册表界面(如下图):
点击第一个大项“HKEY_CLASSES_ROOT”,找到“.xls”和“.xlsx”,将这两项删除(如下图):
然后,将下面的内容复制后,在桌面新建一个文本文件,将内容粘贴到文本文件内,“保存”,再修改文件扩展名“txt”为“reg”(注册表文件)。
要复制的内容如下:
- Windows Registry Editor Version 5.00
- [HKEY_CLASSES_ROOT.xls]
- "Content Type"="application/vnd.ms-excel"
- @="Excel.Sheet.8"
- [HKEY_CLASSES_ROOT.xlsExcel.Sheet.8]
- [HKEY_CLASSES_ROOT.xlsExcel.Sheet.8ShellNew]
- [HKEY_CLASSES_ROOT.xlsPersistentHandler]
- @="{98DE59A0-D175-11CD-A7BD-00006B827D94}"
- [HKEY_CLASSES_ROOT.xlsShellEx]
- [HKEY_CLASSES_ROOT.xlsShellEx{8895b1c6-b41f-4c1c-a562-0d564250836f}]
- @="{00020827-0000-0000-C000-000000000046}"
- [HKEY_CLASSES_ROOT.xlsx]
- "Content Type"="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
- @="Excel.Sheet.12"
- "PerceivedType"="document"
- [HKEY_CLASSES_ROOT.xlsxExcel.Sheet.12]
- [HKEY_CLASSES_ROOT.xlsxExcel.Sheet.12ShellNew]
- "FileName"="excel12.xlsx"
- [HKEY_CLASSES_ROOT.xlsxPersistentHandler]
- @="{4887767F-7ADC-4983-B576-88FB643D6F79}"
- [HKEY_CLASSES_ROOT.xlsxShellEx]
- [HKEY_CLASSES_ROOT.xlsxShellExPropertyHandler]
- @="{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}"
- [HKEY_CLASSES_ROOT.xlsxShellEx{8895b1c6-b41f-4c1c-a562-0d564250836f}]
- @="{00020827-0000-0000-C000-000000000046}"
- [HKEY_CLASSES_ROOT.xlsxShellEx{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
- @="{C41662BB-1FA0-4CE0-8DC5-9B7F8279FF97}"
也可以直接下载,解压后使用:
然后,鼠标双击这个reg文件,如下图:
弹出如下提示框,点击“是”:
再弹出如下提示框,点击“确定”
操作完成后,发现问题解决!
分析原因:根据前后注册表的对比,发现是注册表中Excel对应的“新建”键值“ShellNew”被篡改,改为了WPS的ep指向的路径。如果你的电脑先安装了WPS或启动过绿色版的WPS软件,都可能造成“ShellNew”被篡改!如果出现类似问题,请参考此方法修改!