近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述:

当用鼠标右键在任意文件夹或电脑桌面“新建”→“ Microsoft Excel 工作表”,再用鼠标双击打开这个文件,出现如下截图的报错提示:

提示为:“Excel 无法打开文件‘新建 Microsoft Excel 工作表.xlsx’,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配”。

因为是新建的Excel文件报错,不是原有文件,所以不可能用修改扩展名的方式解决。那就只能从最根源的地方着手——扩展名在注册表中的设置。

经过在“电脑→运行”(或直接按Windows键+R)的运行弹出框中输入:regedit,进入注册表界面(如下图):

点击第一个大项“HKEY_CLASSES_ROOT”,找到“.xls”和“.xlsx”,将这两项删除(如下图):

然后,将下面的内容复制后,在桌面新建一个文本文件,将内容粘贴到文本文件内,“保存”,再修改文件扩展名“txt”为“reg”(注册表文件)。

要复制的内容如下:

  1. Windows Registry Editor Version 5.00
  2. [HKEY_CLASSES_ROOT\.xls]
  3. "Content Type"="application/vnd.ms-excel"
  4. @="Excel.Sheet.8"
  5. [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8]
  6. [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8\ShellNew]
  7. [HKEY_CLASSES_ROOT\.xls\PersistentHandler]
  8. @="{98DE59A0-D175-11CD-A7BD-00006B827D94}"
  9. [HKEY_CLASSES_ROOT\.xls\ShellEx]
  10. [HKEY_CLASSES_ROOT\.xls\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
  11. @="{00020827-0000-0000-C000-000000000046}"
  12. [HKEY_CLASSES_ROOT\.xlsx]
  13. "Content Type"="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
  14. @="Excel.Sheet.12"
  15. "PerceivedType"="document"
  16. [HKEY_CLASSES_ROOT\.xlsx\Excel.Sheet.12]
  17. [HKEY_CLASSES_ROOT\.xlsx\Excel.Sheet.12\ShellNew]
  18. "FileName"="excel12.xlsx"
  19. [HKEY_CLASSES_ROOT\.xlsx\PersistentHandler]
  20. @="{4887767F-7ADC-4983-B576-88FB643D6F79}"
  21. [HKEY_CLASSES_ROOT\.xlsx\ShellEx]
  22. [HKEY_CLASSES_ROOT\.xlsx\ShellEx\PropertyHandler]
  23. @="{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}"
  24. [HKEY_CLASSES_ROOT\.xlsx\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
  25. @="{00020827-0000-0000-C000-000000000046}"
  26. [HKEY_CLASSES_ROOT\.xlsx\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
  27. @="{C41662BB-1FA0-4CE0-8DC5-9B7F8279FF97}"

也可以直接下载,解压后使用:

然后,鼠标双击这个reg文件,如下图:

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

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

操作完成后,发现问题解决!

分析原因:根据前后注册表的对比,发现是注册表中Excel对应的“新建”键值“ShellNew”被篡改,改为了WPS的ep指向的路径。如果你的电脑先安装了WPS或启动过绿色版的WPS软件,都可能造成“ShellNew”被篡改!如果出现类似问题,请参考此方法修改!

Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”的更多相关文章

  1. 添加找回鼠标右键新建菜单里的新建office2003/2007/2010文档的简洁方法

    鼠标右键新建菜单里的新建office文档丢失了怎么办?我们可以通过一些优化设置软件如优化大师来定制,但更简单的方法是只需要导入相应的注册表设置就行了. 下面即在鼠标右键新建菜单里添加新建office2 ...

  2. 【教程】鼠标右键新建添加RTF文档

    鼠标右键新建添加RTF文档 今天想将空间日志作个本地备份,但是苦于找不到适合的文本工具,因为一般的文本编辑工具都不支持贴图. 虽然word就可以满足我们的需求,但文件格式不用doc而是rtf    而 ...

  3. Excel2016右键新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决办法

    上午新建excel工作表时,发现新建完之后居然打不开 提示: 尼玛这坑爹的,难道我的Excel坏了?? 排查问题之后发现 只有新建“Microsoft Excel 工作表”时会出现这种问题,新建“Wo ...

  4. Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配

    office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示“Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文 ...

  5. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法

    excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...

  6. PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效

    $data = Db::name('shop_cart')->where('phone','15555555555')->select(); $objPHPExcel = new PHPE ...

  7. Ubuntu18.04 - 实现鼠标右键新建文件功能!

    Ubuntu18.04安装完毕后,你会发现,如果在桌面或其它地方,像在Windows下鼠标右键,新建一个文件,那么真的不行,没有那个选项!这个功能其实非常有用,怎么实现呢?新建一个你要右键新建类型文件 ...

  8. Win10 鼠标右键新建菜单添加自定义文件

    1. 引言 在鼠标右键(右单机)新建菜单中添加自定义文件,例如:写字板,markdown等. 效果图: 2. 操作步骤(以Win10为例) 1. win+R输入regedit进入注册表 2. 这里以添 ...

  9. 鼠标右键新建Markdown文档

    首先放一张github某项目中.md文件中的内容图片 Windows系统下,使用 Typora 软件来进入Markdown文档的编写非常容易,而且入门门槛非常的低 存在的问题: 习惯了使用Markdo ...

随机推荐

  1. 启动Tomcat任何程序都报错

    启动Tomcat出现: Cannot publish to the server because it is missing its runtime environment. 可能是servers中不 ...

  2. 编码格式(UTF-8 与 ANSI)各种编码解码(encode、decode)

    Windows:默认为 ANSI,记事本程序另存为处,可以设置其他编码格式: Ubuntu:默认为 UTF-8 1. ANSI ANSI 编码表示英文字符时用一个字节,表示中文用两个或四个字节 -- ...

  3. POJ1061 青蛙的约会 exgcd

    这个题虽然很简单,但是有一个比较坑的地方,就是gcd不一定是1,有可能是别的数.所以不能return 1,而是return a; 题干: Description 两只青蛙在网上相识了,它们聊得很开心, ...

  4. 学习一点汇编 INT 16H指令

    转自:http://blog.pfan.cn/feling/16292.html 功能号:00H和10H 功能:从键盘读入字符 入口参数:AH          =00H—读键盘           ...

  5. java将JSON字符串转换为实体类对象,基于net.sf.json实现

    @SuppressWarnings("unchecked") public static <T> T jsonToObject(String jsonString, C ...

  6. shell脚本-数组

    shell脚本-数组 数组 变量:存储单个元素的内存空间. 数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 数组索引:编号从0开始,属于数值索引.索引可支持使用自定义的格式,而不仅是数值格 ...

  7. HTTP缓存控制 总结

    一.HTTP响应头.请求头中与缓存控制的相关字段 二.一个页面访问缓存的流程 三.三种刷新的实际操作 四.如何设置缓存 一.HTTP响应头.请求头中与缓存控制的相关字段 浏览器向服务器发起请求后,服务 ...

  8. Mac 终端执行JavaScript

    创建: 2017/09/16    第一步   打开命令  输入alias jsc="/System/Library/Frameworks/JavaScriptCore.framework/ ...

  9. P3194 [HNOI2008]水平可见直线

    传送门 我们把所有的直线按斜率从小到大排序,然后用单调栈维护 发现,如果当前直线与\(st[top-1]\)直线的交点的横坐标大于等于与\(st[top]\)的交点的横坐标,当前直线可以覆盖掉\(st ...

  10. ajax 以json 的形式来传递返回参数的实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestWcf.aspx.c ...