将 JavaScript 变量值转换为 csv 文件

2023-12-22

我的 .js 文件中有一个逗号分隔的变量,例如:

var out='';
out+="1,val1,val2,val3,val4\n";
out+="2,val1,val2,val3,val4\n";
out+="3,val1,val2,val3,val4\n";

我正在使用浏览器中显示该值document.write(out);.
我想要out变量可下载为.csv file.

有没有办法根据变量中存储的数据创建 csv 文件及其关联的 JavaScript 下载链接?

jsFiddle http://jsfiddle.net/ravatsinh/57pME/


取决于浏览器支持,但对于新浏览器来说这变得非常好:http://jsfiddle.net/3fMeL/2/ http://jsfiddle.net/3fMeL/2/

var CSV = [
    '"1","val1","val2","val3","val4"',
    '"2","val1","val2","val3","val4"',
    '"3","val1","val2","val3","val4"'
  ].join('\n');

window.URL = window.webkitURL || window.URL;

var contentType = 'text/csv';

var csvFile = new Blob([CSV], {type: contentType});

var a = document.createElement('a');
a.download = 'my.csv';
a.href = window.URL.createObjectURL(csvFile);
a.textContent = 'Download CSV';

a.dataset.downloadurl = [contentType, a.download, a.href].join(':');

document.body.appendChild(a);

所以第一项是 Blob 对象,这将创建可以下载的对象。https://developer.mozilla.org/en-US/docs/Web/API/Blob https://developer.mozilla.org/en-US/docs/Web/API/Blob (http://caniuse.com/#search=blob http://caniuse.com/#search=blob)

下一部分是链接的下载属性,它通知浏览器下载 CSV 文件,而不是在浏览器窗口中打开它。 (http://caniuse.com/#feat=download http://caniuse.com/#feat=download)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JavaScript 变量值转换为 csv 文件 的相关文章