Excel XML的MIME类型(ASP.NET 3.5)

UNe*_*rNo 7 c# asp.net excel mime-types

我使用CarlosAG-Dll为我创建一个XML-Excel文件(在MemoryStream中).

Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("content-disposition", "myfile.xml");
memory.WriteTo(Response.OutputStream);
Run Code Online (Sandbox Code Playgroud)

我的问题是,我在客户端获得myfile.xls(IE)或myfile.xml.xls(FF),因此从excel获得恼人的安全警告.

我也尝试使用application/vnd.openxmlformats-officedocument.spreadsheetml.sheet(xlsx),但它甚至都不会打开.

所以我需要剪切.xml并将其作为vnd.ms-excel(如何?)发送或者采用另一种MIME类型(但是哪一种?).


编辑:我在这里找到了一个错误描述

我想知道这是否仍然是开放的,为什么?

Pra*_*nth 7

像这样使用

Response.ContentType = "application/vnd.ms-excel";

Response.AppendHeader("content-disposition", "attachment; filename=myfile.xls");
Run Code Online (Sandbox Code Playgroud)

对于Excel 2007及更高版本,MIME类型不同

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

Response.AppendHeader("content-disposition", "attachment; filename=myfile.xlsx");
Run Code Online (Sandbox Code Playgroud)

请参阅MIME类型列表

Office 2007文件格式MIME类型

编辑:

如果内容不是本机Excel文件格式,而是基于文本的格式(例如CSV,TXT,XML),则网站可以将以下HTTP标头添加到其GET响应中,以告知IE使用备用名称,并在名称中,您可以将扩展名设置为正确的内容类型:

Response.AddHeader "Content-Disposition", "Attachment;Filename=myfile.csv"
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此链接