使用javascript和aspx导出CSV

Export CSV using javascript and aspx

本文关键字:导出 CSV aspx javascript 使用      更新时间:2023-09-26

我必须使一个可下载的CSV文件,当点击HTML按钮。当点击按钮时,我已经在Javascript中创建了CSV数据。我的问题是如何将数据写入CSV文件并使其可下载。我尝试了HTML5下载属性在客户端下载CSV文件。但是ie浏览器不支持HTML5下载属性。所以我需要知道如何将CSV数据传递给ASPX并使其可下载。请建议。

我有这个代码从网页下载csv:

JS功能:

function downloadCSV(csv_out) {
   var blob = new Blob([csv_out], { type: 'text/csv;charset=utf-8' });
   var url = window.URL || window.webkitURL;
   var link = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
   link.href = url.createObjectURL(blob);
   link.download = "filename.csv";
   var event = document.createEvent("MouseEvents");
   event.initEvent("click", true, false);
   link.dispatchEvent(event);
}

我假设你想有Javascript唯一的解决方案。
然后您可以执行以下操作:

var looongCSVTEXT = ''
document.location ='data:Application/vnd.ms-excel,' +
        encodeURIComponent(looongCSVTEXT);

更新:

添加

<input type='hidden' id='Hidden' runat='server' />

然后在javascript中(设置机制可能不同,这取决于你如何设置CSV数据为隐藏控件)

$('button').on('click', function(){ $('#Hidden').val(CSVData);});
然后从服务器端的隐藏控件中读取数据,并以excel文件响应。
如果您不想将其保存到磁盘上,请先读取