asp.net网站是否直接从IE浏览器在Excel中打开XLSX文件?
我正在一个非常古老的asp.net网站上工作。代码生成一个作为标准html内容的响应,但使用了一个巧妙的小技巧,在代码隐藏页面中调整响应,如下所示:asp.net网站是否直接从IE浏览器在Excel中打开XLSX文件?,asp.net,internet-explorer,ms-office,office-interop,Asp.net,Internet Explorer,Ms Office,Office Interop,我正在一个非常古老的asp.net网站上工作。代码生成一个作为标准html内容的响应,但使用了一个巧妙的小技巧,在代码隐藏页面中调整响应,如下所示: Response.ContentType = "application/vnd.ms-excel"; 这会在用户的浏览器中显示提示,当用户选择“打开”时,内容将直接打开到Microsoft Excel中。没有向项目中添加互操作库,也没有实际生成Excel内容——只有html 要求现在规定,所有与Microsoft Office相关的内容必须设置为
Response.ContentType = "application/vnd.ms-excel";
这会在用户的浏览器中显示提示,当用户选择“打开”时,内容将直接打开到Microsoft Excel中。没有向项目中添加互操作库,也没有实际生成Excel内容——只有html
要求现在规定,所有与Microsoft Office相关的内容必须设置为openXML格式*.xlsx、.docx等,而不是更旧的本机格式.xls、*.doc等
现在很明显,asp.net生成的内容实际上甚至不是Office内容-它只是html表格,带有数据,在Excel中打开以方便排序等。但是启用此功能的配置也会导致初始打开,保存等。提示将文件名显示为myfile.xls…因此这是不可接受的
当我更新ContentType以符合较新的openXML标准时,文件名确实更改为myfile.xlsx。但是…由于某些原因,这导致IE在单击“打开”时突然不再允许在Excel中打开文件。相反,在单击“打开”之后,我现在在浏览器窗口的底部看到另一个提示,提示中有“保存”、“另存为”以及禁用/灰显的“保存和打开”选项
将显示的XLS文件名更新为XLSX的好策略是什么,保留在Microsoft Excel中自动打开响应内容的当前功能时?在尝试打开xlsx文件的计算机中,Office的版本是什么?感谢您的回复,尽管很难做出评论:我想您所指的内容类型是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet?