如何使用Javascript创建和下载csv文件?

我有一个按钮中的代码:

var csvContent = "data:text/csv;charset=utf-8,";
csvContent += myCSVcontent;

var encodedUri = encodeURI(csvContent);
window.open(encodedUri);

这适用于Chrome,Safari和Firefox。
- 但不是IE8 - 我需要Internet Explorer 8兼容性。

当我点击调用上述代码的按钮时,会将.csv文件下载到我的电脑。
当我单击IE8中的按钮时,它会打开一个新的IE8窗口,其中包含地址栏中的所有csv内容,并且不会下载(或要求下载)任何内容。

不幸的是,我必须要有IE8的兼容性。 我该如何做这项工作?

编辑:我必须避免任何额外的电话到服务器。 一切都需要发生在客户端。 目前,它可以在所有浏览器上运行,除了IE8(也可能是IE9)。

Edit2:当我将最后一行更改为“document.location.href = encodedUri;”时 它仍然可以在所有其他浏览器上运行,但在IE8中,当我点击按钮时,我会看到一个错误窗口,显示“传递给系统调用的数据区域太小”。 任何想法告诉我什么?


“数据:文本/ CSV;” 是HTML5,所以它不会用于IE8,我能够使用ActivexObject解决这个问题,但它将文件写入用户的桌面,并且没有弹出窗口

var csv = new ActiveXObject("scripting.FileSystemObject");
var fLoc = csv.CreateTextFile(fileName);
fLoc.WriteLine(csvData);
fLoc.close();
链接地址: http://www.djcxy.com/p/36531.html

上一篇: How do I create and download a csv file using Javascript?

下一篇: Javascript: why is our website extremely slow in a Terminal Services session?