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 ...
随机推荐
- CNN 文本分类模型优化经验——关键点:加卷积层和FC可以提高精度,在FC前加BN可以加快收敛,有时候可以提高精度,FC后加dropout,conv_1d的input维度加大可以提高精度,但是到256会出现OOM。
network = tflearn.input_data(shape=[None, max_len], name='input') network = tflearn.embedding(networ ...
- unpe13e 学习备忘1
转其他地方. http://blog.sina.com.cn/s/blog_a43aba560101a2s5.html 运行书本中的程序.1,首先,下载源码:unpv13e.tar.gz2,然后,编 ...
- JSP-Runoob:JSP 国际化
ylbtech-JSP-Runoob:JSP 国际化 1.返回顶部 1. JSP 国际化 在开始前,需要解释几个重要的概念: 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本 ...
- [App Store Connect帮助]三、管理 App 和版本(1)添加 App 至您的帐户
在向 App Store Connect 上传您 App 的构建版本之前,您必须先在您的 App Store Connect 帐户内新建一个 App. 如果您想将 iOS App 和 Apple TV ...
- Educational Codeforces Round 24 题解
A: 考你会不会除法 //By SiriusRen #include <bits/stdc++.h> using namespace std; #define int long long ...
- 347 Top K Frequent Elements 前K个高频元素
给定一个非空的整数数组,返回其中出现频率前 k 高的元素.例如,给定数组 [1,1,1,2,2,3] , 和 k = 2,返回 [1,2].注意: 你可以假设给定的 k 总是合理的,1 ≤ k ...
- scala控制流程语句
直接上代码了哈. package com.test.scala.test object Kongzi { def main(args: Array[String]): Unit = { //if 语句 ...
- Laravel5.1学习笔记16 数据库2 查询构造器(这个不用看,不如用EloquentORM)
Introduction Retrieving Results Aggregates Selects Joins Unions Where Clauses Advanced Where Clauses ...
- jQuery——val()、text()、html()
val():获取标签中的value属性的值.带有参数是赋值(类比js中的value属性) text():获取双闭合标签中的文本值.(不识别标签)(类比innerText) html():获取双闭合标签 ...
- JS——鼠标跟随
注意事项: 1.pageX.pageY的兼容问题 2.使目标移动鼠标中间位置还必须减去盒子宽度的一半 <!DOCTYPE html> <html lang="en" ...