web导出excel打开后弹出警告提示,文件类型和文件内容不符问题处理

在网页下载excel时,一定要正确设置response头中的content-type;即设置正确的mime type,具体设置如下:

Ext MIME Type
.doc application/msword
.dot application/msword
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm application/vnd.ms-word.document.macroEnabled.12
.dotm application/vnd.ms-word.template.macroEnabled.12
.xls application/vnd.ms-excel
.xlt application/vnd.ms-excel
.xla application/vnd.ms-excel
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xlsm application/vnd.ms-excel.sheet.macroEnabled.12
.xltm application/vnd.ms-excel.template.macroEnabled.12
.xlam application/vnd.ms-excel.addin.macroEnabled.12
.xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12
.ppt application/vnd.ms-powerpoint
.pot application/vnd.ms-powerpoint
.pps application/vnd.ms-powerpoint
.ppa application/vnd.ms-powerpoint
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.potx application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppam application/vnd.ms-powerpoint.addin.macroEnabled.12
.pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12
.potm application/vnd.ms-powerpoint.presentation.macroEnabled.12
.ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12

To fully support the new types, web server administrators are advised to add the MIME types for the Open XML formats to their web server metabase settings so as to add the correct MIME type header in documents saved directly on the server and sent back. For Windows 2003 Servers running IIS 6.0, you can add the Open XML types in IIS Manager, Server Properties, MIME Types. These new formats are included in Windows 2008 running IIS 7.0 by default. For more details on the default MIME types for IIS, please see the following KB article:
936496: Description of the default settings for the MimeMap property and for the ScriptMaps property in IIS

Clients that install Office 2007 or the Office 2007 File Format Compatibility Pack will get client-side MIME mappings to these formats by default.

To use the MIME type in your ASP/ASP.NET code, you should use the built-in Response.ContentType property and set it to the MIME value that matches the content type you are providing. If you fail to set the correct type, security checks by the client may prevent the content from being opened or may prompt the user with an alert that the file is not in the correct format.

为了在ASP/ASP.NET代码中使用MIME type,你应该用ASP/ASP.NET的内置的Response的ContentType属性,并且设置这个属性为和你提供内容相符的MIME type。如果没有正确的设置,那么就会在下载后打开文档是报类似的警告出来。

一般来说导出excel时

如果是excel97~2003,那么content-type应该设置为:application/vnd.ms-excel,
————————————————
版权声明:本文为CSDN博主「jiatongtong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaojia_boke/article/details/81140647

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!