java - 使用 Office 2007/2010 打开 .xls 文件时收到扩展检查(强化)警报

标签 java jsp struts xls xlsx

我正在开发一个基于 struts 的 Web 应用程序。在该应用程序中,我们从 Jsp 生成并下载 xls 文件。 在Jsp文件和web.xml中,我将内容类型设置为“application/vnd.ms-excel”

看来jsp页面生成的xls文件并不是真正的excel文件,而是MS Excel可以理解的文本格式。因此,Excel 打开文件并显示类似于 MS Excel 保存的 Excel 文件的输出。由于较新版本的 MS Office 2007/2010 会检查文件扩展名和文件内的内容,因此它们会发出文件格式与内容不匹配的警告。

要摆脱警告,我如何确保生成的 xls 是真正的 Office excel 文件。

请帮忙。

最佳答案

对于 future 可能需要这个的读者... 即使您的 Excel 文件是“正确的”,只要其结构与扩展名不正确匹配,Excel 无论如何都会提示。因此,如果您另存为 .XLS,它会看到经典的 Excel 文件。 您收到的弹出窗口是由于 Office 2007 中的新安全功能(称为“扩展强化”)所致,您可以根据需要禁用它 - 可以在注册表中手动禁用它,也可以将补丁保存到 .REG 文件中并将其共享给您客户等

将下面的这两行保存到 GiveItSomeName.reg 文件中,然后您可以通过电子邮件发送给您的客户并告诉他们执行它。

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security]
"ExtensionHardening"=dword:00000000

关于java - 使用 Office 2007/2010 打开 .xls 文件时收到扩展检查(强化)警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5727106/

相关文章:

java - 使用 servlet 从 exe 返回值不起作用

java - 为什么这个 Jython 循环在一次运行后就失败了?

javascript - 按 Enter 按钮提交表单

java - 谷歌应用引擎 : what are content folder data securing options?

java - 在 Tomcat/Glassfish 中部署 Java 应用程序

java.lang.ClassCastException : [Ljava. lang.Object;以及如何转换类

java - 关于Java中捕获异常的问题?

java - Netty 消息优先级

html - 如何在jsp页面文本区域显示tomcat登录(实时)?

java - 我应该在 Struts2 View 层检索数据库记录吗?