首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何抑制Excel下载时的文件损坏警告?

如何抑制Excel下载时的文件损坏警告?
EN

Stack Overflow用户
提问于 2009-06-02 15:00:40
回答 8查看 76.9K关注 0票数 18

我有一个链接到Excel2007工作表的网页。它是一个.xls文件,而不是.xlsx文件。当我点击链接时,我会看到通常的对话框,打开/保存Excel文件。单击“打开”时,我收到以下警告消息-

您正在尝试打开的文件,'filename.xls‘的格式与文件扩展名指定的格式不同。在打开该文件之前,请确认该文件未损坏且来源可信。是否要立即打开该文件?

我是否可以通过编程方式隐藏此警告消息(即隐藏或阻止其显示?)我正在使用ColdFusion进行web开发。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-06-02 15:24:02

此问题是由扩展硬化功能导致的,您可以在here中找到有关该功能的更多信息

我在我的项目中经常遇到这个问题,就像Jon所说的,关闭扩展硬化是每个客户端用户必须完成的事情。

不幸的是,上面的链接还指出,至少在Office 14之前,不会对此代码进行预期的更改。

票数 12
EN

Stack Overflow用户

发布于 2009-06-02 15:05:59

如果您不想寻找解决方案,而只是想解决问题,请在您的注册表中插入此键以禁止通知:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security“ExtensionHardening”=dword:00000000

您可以通过执行以下操作来完成上述操作:

  1. 打开注册表(开始并运行HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\OFFICE\12.0\EXCEL\SECURITY
  2. Right -> regedit.exe)
  3. Navigate to HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\OFFICE\12.0\EXCEL\SECURITY
  4. Right在右侧窗口中单击并选择新建-> DWORD
  5. 键入“ExtensionHardening”作为名称(不带引号)
  6. 验证数据是否具有值“0”
票数 20
EN

Stack Overflow用户

发布于 2013-12-19 01:08:32

对于旧的Excel格式(.xls)

假设您使用以下语法创建电子表格对象:

代码语言:javascript
复制
<cfset sheet = SpreadsheetNew() /> 

您可以使用下面的代码来创建下载:

代码语言:javascript
复制
<cfheader name="content-disposition" value="attachment;filename=my_spreadsheet.xls">
<cfcontent type="application/vnd.ms-excel" variable="#spreadsheetReadBinary(sheet)#" reset="true">

对于较新的Excel格式(.xlsx)

使用以下语法创建电子表格对象:

代码语言:javascript
复制
<cfset sheet = SpreadsheetNew("", "true") />

并使用此命令创建下载:

代码语言:javascript
复制
<cfheader name="content-disposition" value="attachment;filename=my_xml_spreadsheet.xlsx">
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(sheet)#" reset="true">

多亏了Raymond Camden (他的示例是用旧的格式创建电子表格--我更新了新的格式并使用稍有不同的MIME值)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/940045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档