一、手动修改注册表解决:

1、打开注册表编辑器
方法:开始 -> 运行 -> 输入regedit -> 确定
2、找到注册表子项
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security
3、在右侧空白处点击鼠标右键,选择“新建 -> DWORD值(D)”,输入“ExtensionHardening”点击确定。
4、用鼠标右键点击ExtensionHardening,然后单击“修改(M)”,在数值数据中填写“0”即可确定。
5、关闭注册表编辑器,再次打开xls文件看看是不是提示是不是不见了?
小知识:ExtensionHardening设置的值的数据设置:
    * 0:不检查文件扩展名和文件类型并绕过该函数的警告消息。
    * 1:检查文件扩展名和文件类型。如果它们不匹配会显示警告消息。
    * 2:检查文件扩展名和文件类型。如果它们不匹配不要打开该文件。

二、程序解决第一步:

枚举注册表找到excel安装路径:

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.exe\\Path

第二步:

拼接excel路径并读取文件版本信息

第三步:

写注册表,参考“手动修改注册表解决

代码示例:

    //str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.exe\\Path" 注册表的值;long nSize = lstrlen(str.c_str());if(str[nSize - 1] == '\\'){str += _T("EXCEL.EXE");}else{str += _T("\\EXCEL.EXE");}bool bFind = false;long nVersion = 0;//excel的版本号VS_FIXEDFILEINFO *pVsInfo;unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);int iVerInfoSize = GetFileVersionInfoSize(str.c_str(), NULL);if(iVerInfoSize != 0){char *pBuf = NULL;while(!pBuf){try{pBuf = new char[iVerInfoSize];}catch(...){}}if(GetFileVersionInfo(str.c_str(), 0, iVerInfoSize, pBuf)){if(VerQueryValue(pBuf, _T("\\"), (void **)&pVsInfo, &iFileInfoSize)){bFind = true;nVersion = HIWORD(pVsInfo->dwFileVersionMS);}}delete[] pBuf;pBuf = NULL;}if(bFind){TCHAR tcData[2048] = {0};_stprintf(tcData, _T("Software\\Microsoft\\Office\\%d.0\\Excel\\Security\\ExtensionHardening"), nVersion);//写注册表}

windows C++ 解决Office打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”相关推荐

  1. Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法

    原文地址为: Office2007打开文件提示"您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致"的解决办法 打开文件时提示"您尝试打开的文件xxx.xl ...

  2. 打开EXCEL总提示 您尝试打开的文件*.xls格式与文件扩展名指定的格式不相符

    用C#导出来excel,打开时总是有个提示: 您尝试打开的文件"test.xls"的格式与文件扩展名指定的格式不一致.打开文件前请验证文件没有损坏且来源可信.是否立即打开该文件? ...

  3. (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致...

    1.打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定2.找到注册表子项 HKEY_CURRENT_USER\Software\Microsoft\Off ...

  4. office2007你尝试打开的文件.xls的格式与文件扩展名指定的格式不一致

    修改注册表解决: 1.打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定 2.找到注册表子项 HKEY_CURRENT_USER\Software\Mic ...

  5. Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法...

    添加如下注册表 Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\ ...

  6. C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致。

    方法一(不提倡) 产生此问题的原因: 我写入Excel的不是正常的Excel格式,说白了就是我用Response.WriteFile("k:\\StudentMarks.xls") ...

  7. 计算机提示pdf不能加载,Win7打开PDF文件提示无法自定义打开程序的解法

    用户在 ghost Win7系统 打开PDF文件时提示无法自定义打开程序方式,一般打开程序系统会默认打开方式,但是有时候默认的 打开方式 并不适合当前的文件.Win7系统打开PDF文件提示无法自定义打 ...

  8. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法...

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  9. Java解决服务器下载excel文件提示损坏无法打开的问题

    一开始通过请求的方式写了个下载文件的工具代码,可以参考下面链接 https://blog.csdn.net/z2014ypd/article/details/88417757 这种方式在项目打包发布后 ...

  10. office 2010打开word文件提示以安全模式打开

    问题出现:打开word文件时出现如下图所示对话框. 如果是第一次打开一个文件,那么点击是,就会打开一个空白的word文档,如果选择否,那么就打开这个文档了,但是显示文档处于安全模式:可是第二次打开这个 ...

最新文章

  1. Swift 中使用 SQLite——新增数据
  2. @ResponseBody 注解
  3. Core禁用BIP70或只为制造闪电网络硬需求
  4. springboot mysql 事务_springBoot(14):使用SQL关系型数据库-事务处理
  5. [转载]秀脱linux实战笔记linux-kernel-3.0.3实战篇
  6. Lync Server 2013之初次安装
  7. 用webpack构建一个常规项目,好处和坏处分析
  8. nginx-启动gzip、虚拟主机、请求转发、负载均衡
  9. 图像的阈值分割(迭代法选择阈值)
  10. filterwriter_Java FilterWriter flush()方法与示例
  11. 怎么判断一个机器可以跑多少用户和并发_美逛微信云发单机器人申请方法及其问题解答汇总...
  12. 【个人笔记】《知了堂》node.js简介及创建应用
  13. 数据结构 - 字符串的模式匹配
  14. ironpython怎么编译_将IronPython WPF项目编译为
  15. 使用OpenCV进行高动态范围(HDR)成像(C ++ / Python)
  16. C语言程序设计(郝斌)
  17. 2018年​最酷的APP手机UI设计趋势
  18. 推荐给后端工程师进阶的几本技术书籍
  19. 【转载】Java语言中的参数传递
  20. AJ-Report 数据源、数据集用法总结

热门文章

  1. 动软DBUtility类库DbHelperSQLP实现多数据库连接
  2. flyway(数据库迁移工具)
  3. 磁盘分区误删怎样恢复?
  4. 计算机cad实训日记,cad制图实习日记范文
  5. CSS 中的层叠,层级关系
  6. 51单片机DS18B20(单总线)温度读取
  7. 最详细的黑苹果安装教程,教你如何安装黑苹果?
  8. sap scc4 客户端设置(设置生产机不可更改代码)
  9. CentOS7.6重装系统步骤
  10. ffmpeg 推流 m3u8 播放 EasyDarwin 存储录像和播放