Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”
近段时间,陆续有两个同事先后出现同样的问题(在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\.xls\Excel.Sheet.8]
- [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8\ShellNew]
- [HKEY_CLASSES_ROOT\.xls\PersistentHandler]
- @="{98DE59A0-D175-11CD-A7BD-00006B827D94}"
- [HKEY_CLASSES_ROOT\.xls\ShellEx]
- [HKEY_CLASSES_ROOT\.xls\ShellEx\{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\.xlsx\Excel.Sheet.12]
- [HKEY_CLASSES_ROOT\.xlsx\Excel.Sheet.12\ShellNew]
- "FileName"="excel12.xlsx"
- [HKEY_CLASSES_ROOT\.xlsx\PersistentHandler]
- @="{4887767F-7ADC-4983-B576-88FB643D6F79}"
- [HKEY_CLASSES_ROOT\.xlsx\ShellEx]
- [HKEY_CLASSES_ROOT\.xlsx\ShellEx\PropertyHandler]
- @="{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}"
- [HKEY_CLASSES_ROOT\.xlsx\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
- @="{00020827-0000-0000-C000-000000000046}"
- [HKEY_CLASSES_ROOT\.xlsx\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
- @="{C41662BB-1FA0-4CE0-8DC5-9B7F8279FF97}"
也可以直接下载,解压后使用:
然后,鼠标双击这个reg文件,如下图:

弹出如下提示框,点击“是”:

再弹出如下提示框,点击“确定”

操作完成后,发现问题解决!
分析原因:根据前后注册表的对比,发现是注册表中Excel对应的“新建”键值“ShellNew”被篡改,改为了WPS的ep指向的路径。如果你的电脑先安装了WPS或启动过绿色版的WPS软件,都可能造成“ShellNew”被篡改!如果出现类似问题,请参考此方法修改!
Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”的更多相关文章
- 添加找回鼠标右键新建菜单里的新建office2003/2007/2010文档的简洁方法
鼠标右键新建菜单里的新建office文档丢失了怎么办?我们可以通过一些优化设置软件如优化大师来定制,但更简单的方法是只需要导入相应的注册表设置就行了. 下面即在鼠标右键新建菜单里添加新建office2 ...
- 【教程】鼠标右键新建添加RTF文档
鼠标右键新建添加RTF文档 今天想将空间日志作个本地备份,但是苦于找不到适合的文本工具,因为一般的文本编辑工具都不支持贴图. 虽然word就可以满足我们的需求,但文件格式不用doc而是rtf 而 ...
- Excel2016右键新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决办法
上午新建excel工作表时,发现新建完之后居然打不开 提示: 尼玛这坑爹的,难道我的Excel坏了?? 排查问题之后发现 只有新建“Microsoft Excel 工作表”时会出现这种问题,新建“Wo ...
- Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示“Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文 ...
- excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...
- PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效
$data = Db::name('shop_cart')->where('phone','15555555555')->select(); $objPHPExcel = new PHPE ...
- Ubuntu18.04 - 实现鼠标右键新建文件功能!
Ubuntu18.04安装完毕后,你会发现,如果在桌面或其它地方,像在Windows下鼠标右键,新建一个文件,那么真的不行,没有那个选项!这个功能其实非常有用,怎么实现呢?新建一个你要右键新建类型文件 ...
- Win10 鼠标右键新建菜单添加自定义文件
1. 引言 在鼠标右键(右单机)新建菜单中添加自定义文件,例如:写字板,markdown等. 效果图: 2. 操作步骤(以Win10为例) 1. win+R输入regedit进入注册表 2. 这里以添 ...
- 鼠标右键新建Markdown文档
首先放一张github某项目中.md文件中的内容图片 Windows系统下,使用 Typora 软件来进入Markdown文档的编写非常容易,而且入门门槛非常的低 存在的问题: 习惯了使用Markdo ...
随机推荐
- [Swift通天遁地]六、智能布局-(6)其他几种约束关系:父视图/Corner/Edge/AnchorAndFillEdge
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Swift通天遁地]九、拔剑吧-(5)创建Tab图标具有多种样式的Tab动画
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- JavaScript中.和[]有什么区别?
.与[]都可以用于读取或修改对象属性. <script> var myData={ name:"Adam", weather:"sunny", }; ...
- Netty--数据通信和心跳检测
数据通信 概述: netty的ReadTimeOut实现方案3 服务端: public class Server { public static void main(String[] args) th ...
- Vue电商SKU组合算法问题
前段时间,公司要做“添加商品”业务模块,这也算是电商业务里面的一个难点了. 令我印象最深的不是什么“组合商品”.“关联商品”.“关联单品”,而是商品SKU的组合问题. 这个问题特别有意思,当时虽然大体 ...
- Context的正确使用
一.Context的作用 Context的最大作用就是我们可以通过传递它来获得其他Activity或Application的相关资源和方法,它就相当于它们的引用,我们通过引用来获得对象的封装,这也是我 ...
- Linux-fork()函数详解,附代码注释
// // main.c // Project_C // // Created by LiJinxu on 16/8/13. // Copyright © 2016年 LiJinxu-NEU. All ...
- 简单入门构建spark1.6.1源码环境
能有源码的辅助,加上自身的修炼,能起到很好的作用! 对于初学者,不建议,一上来看源码. 下载 http://archive.apache.org/dist/spark/spark-1.6.1/
- java DDD 基于maven开发的探讨
对于DDD我目前的理解是 1.除了数据的基本操作,也可以把一些公用的方法或者类迁移到Infrastructrue 2.对于domain层可以声明各个聚合根的操作接口:例:IXXXRepository ...
- SSH Secure Shell Client连接centos6.5时中文字乱码处理
在学习Linux的过程中,最先碰到的是通过SSH终端连接时发现有乱码出现,使用这篇文章先从这里说起. 在 ssh , telnet 终端中文显示乱码解决办法#vim /etc/sysconfig/i1 ...