设置excel文档的mime类型

设置excel文档的mime类型,excel,content-type,mime,Excel,Content Type,Mime,MS Excel具有以下观察到的MIME类型: 应用程序/vnd.ms excel(官方) application/msexcel application/x-msexcel application/x-ms-excel application/x-excel application/x-dos\u ms\u excel 应用程序/xls 应用程序/x-xls 应用程序/vnd.openxmlformats of cedocument.spreadsheetml.sheet(xlsx) 是否

MS Excel具有以下观察到的MIME类型:

  • 应用程序/vnd.ms excel
    (官方)
  • application/msexcel
  • application/x-msexcel
  • application/x-ms-excel
  • application/x-excel
  • application/x-dos\u ms\u excel
  • 应用程序/xls
  • 应用程序/x-xls
  • 应用程序/vnd.openxmlformats of cedocument.spreadsheetml.sheet
    (xlsx)
是否有一种类型适用于所有版本?如果不是,我们是否需要分别为这些mime类型中的每一个设置
response.setContentType()

此外,我们在应用程序中使用文件流来显示文档(不仅仅是excel—任何类型的文档)。在这样做时,如果用户选择保存文件,我们如何保留文件名?目前,呈现文件的servlet的名称显示为默认名称。

我相信标准文件是
应用程序/vnd.ms excel

关于文档的名称,您应该在响应中设置以下标题:

header('Content-Disposition: attachment; filename="name_of_excel_file.xls"');

在这里我看到了一个旧的线程,但是我感觉到了添加“新的”.xlsx格式”的冲动


根据.xlsx的扩展名是
application/vnd.openxmlformatsofcocument.spreadsheetml.sheet
。在检查mime类型时包含它可能是一个好主意

如果希望以xlsx格式提供excel文件,则应始终使用以下MIME类型

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 

对于在使用问题中列出的所有可能的MIME类型后仍遇到此问题的任何人:


我发现iMac倾向于为xls Excel文件抛出MIME类型“text/xls”,希望这能有所帮助。

我在.NET代码中设置MIME类型,如下所示-

File(generatedFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
我的应用程序使用OpenXMLSDK生成excel。这种MIME类型有效-

vnd.openxmlformats-officedocument.spreadsheetml.sheet
我正在使用生成.xlsx(基于OpenXML格式)excel文件。为了在电子邮件中以附件形式发送此excel文件,我使用以下MIME类型,它与EPPlus生成的文件配合使用,并在ms outlook邮件客户端预览中正确打开

string mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
System.Net.Mime.ContentType contentType = null;
if (mimeType?.Length > 0)
{
    contentType = new System.Net.Mime.ContentType(mimeType);
}

对于.xls使用以下内容类型

application/vnd.ms-excel
对于Excel2007版本及以上.xlsx文件格式

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

更一般地说,找出微软自己认为正确的类型的最好方法是找到一个安装了最新版本的框,并查看注册表中的
HKCR/.xls
内容类型
值。“application/vnd.MS office”是XLS文件的另一种mime类型。
application/vnd XLS
也适用于
.XLS
文件。有关mime类型和相关excel文件扩展名的完整列表,请参阅post。标准excel mime类型是:-application/vnd.ms-excel application/msexcel和application/vnd.ms-excel之间的区别是什么?如果您是要在浏览器中显示文档(如果支持),则内容配置需要“内联”。请参阅,您应该避免在HTTP中使用内容处置,它有安全考虑。内容处置仅适用于电子邮件。有关详细信息,请参阅。请注意,对于OpenXML Excel XLSX文件格式,定义了不同的Mime类型,请参阅提供的链接中的完整列表。@DzmitryLazerka内容处置的“安全”替代方案是什么?根据您的链接,然后是答案中的链接,然后是文档中的链接,我们可以到达这里:。据我所知,安全问题只涉及用户提供的文件名——如果它们包含非拉丁字符,或者在某些操作系统上无效的字符。所有主要浏览器都有防范这些问题的措施。Windows和Mac还在一个文件上设置了一个标志,表明它来自互联网,当你试图打开它时会弹出一个警告。这就是我想要的。谢谢,需要支持最新的格式以及以前的格式。