在excel中打开web生成的文本文件

在excel中打开web生成的文本文件,excel,internet-explorer,csv,http-headers,Excel,Internet Explorer,Csv,Http Headers,我在web应用程序中生成文本文件,我希望客户端(主要是运行在Windows 7和8上的IE11)直接在Excel中打开这些文件 我将这些文件作为: 内容类型:application/vnd.ms-excel 内容处置:filename=“myfile.txt” 文件的内容是这样的: abc def ghi 123 456 当Windows IE11用户下载此文件时,当数据内容为4096字节或更大时,文件扩展名将强制更改为“.xls”。因此,Excel在试图打开文件时会抱怨“文件格式

我在web应用程序中生成文本文件,我希望客户端(主要是运行在Windows 7和8上的IE11)直接在Excel中打开这些文件

我将这些文件作为:

内容类型:application/vnd.ms-excel
内容处置:filename=“myfile.txt”

文件的内容是这样的:

abc def ghi
123  456  

当Windows IE11用户下载此文件时,当数据内容为4096字节或更大时,文件扩展名将强制更改为“.xls”。因此,Excel在试图打开文件时会抱怨“文件格式无效”(当然),文件内容仅为文本

当文件小于4096字节时,扩展名“.txt”将被取消,Excel将愉快地打开文件

如果使用“.htm”扩展名(使用HTML数据内容),也会发生同样的情况

如何解决这个问题,如何让Excel打开文件而不出现问题

如果我改为使用扩展名“.csv”(内容处置:filename=“myfile.csv”),它永远不会被重命名-可能是因为csv是一种属于Excel的文件格式。
但是,根据用户区域设置,.csv文件需要使用“,”或“;”作为字段分隔符,我更喜欢使用

(另外,我实际上更喜欢使用HTML数据内容)

那么-为什么Windows/IE11在文件为4096字节或更大时将其重命名为“.xls”?

和/或,是否有让Excel自动打开从web交付的文本文件的“最佳实践”?

您知道有可以生成Excel文件的免费库吗?也许你可以使用其中的一个,而不是生成一个txt文件,而是一个真正的Excel文件。不,我们不能在这种环境中编写XLS,所以它必须是文本文件-文本或HTMLB。顺便说一下,我发现了一个(引号未记录?)功能,通过添加一行“sep=x”,可以强制Excel在CSV解析中使用特定的字段分隔符(如)在文件顶部(并将“x”设置为)。这可能是解决这个问题的一种方法,但我真的希望也能使用HTML,因此4096限制似乎仍然非常有趣:-)