Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net网站是否直接从IE浏览器在Excel中打开XLSX文件?_Asp.net_Internet Explorer_Ms Office_Office Interop - Fatal编程技术网

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

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相关的内容必须设置为

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

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?