我在Web应用程序中生成文本文件,我希望客户端(主要是在Windows 7和8上运行的IE11)直接在Excel中打开文件。
我将文件提供为:
Content-Type: application/vnd.ms-excel
Content-Disposition: filename="myfile.txt"
并且文件的内容是这样的:
abc <tab> def <tab> ghi
123 <tab> 456 <tab> <789>
当Windows IE11用户下载此文件时,当数据内容为4096字节或更大时,文件扩展名将被强制更改为“.xls”。因此,Excel会在尝试打开文件时抱怨“无效文件格式”(当然),只有文本内容。
当文件小于4096字节时,将取消触摸扩展名“.txt”,Excel将很乐意打开该文件。
如果我使用“.htm”扩展名(使用HTML数据内容),也会发生同样的事情。
任何解决方案,如何让Excel打开文件没有问题?
如果我使用扩展名“.csv”(Content-Disposition:filename =“myfile.csv”),它永远不会被重命名 - 可能因为CSV是一种属于Excel的文件格式。
但是“.csv”文件需要使用“,”或“;”作为字段分隔符,根据用户区域设置,我更喜欢使用<tab>
(另外,我实际上也更喜欢使用HTML数据内容)
那么 - 为什么Windows / IE11在4096字节或更大时将文件重命名为“.xls”?
和/或,有没有“最佳实践”让Excel自动打开从网络上发送的文本文件?