asp.net网站直接从IE浏览器在Excel中打开XLSX文件?

时间:2015-04-06 17:00:26

标签: asp.net internet-explorer ms-office office-interop

我正在一个非常古老的asp.net网站上工作。代码生成一个响应作为标准的html内容,但使用一个简洁的小技巧,在代码隐藏页面中调整响应,如下所示:

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

这会导致提示出现在用户'浏览器,当他或她选择"打开"时,内容然后直接打开到Microsoft Excel。没有Interop库添加到项目中,并且实际上没有生成Excel内容 - 只是html。

现在要求声明所有与Microsoft Office相关的内容必须设置为openXML格式(* .xlsx, .docx等),而不是更旧的原生格式( .xls,* .doc等。)。

现在显而易见的是,asp.net生成的内容实际上并不是Office内容 - 它只是html表,其中包含在Excel中打开的数据,以方便排序等。但是配置启用此功能还会导致初始"打开","保存"提示将文件名显示为" myfile.xls" ...所以这是不可接受的。

当我更新ContentType以同意更新的openXML标准时,文件名确实变为" myfile.xlsx"。但是......出于某种原因,这导致IE突然不允许文件在Excel中打开,而#34; Open"点击。相反,点击"打开,"我现在在浏览器窗口的底部再次显示" Save","另存为"和禁用/灰色"保存并打开"选项。

更新显示的" XLS"有什么好策略?文件名为" XLSX",同时保留了在Microsoft Excel中自动打开Response内容的当前功能?

0 个答案:

没有答案
相关问题