小编Kos*_*ien的帖子

无法使用Javascript指定下载文件的名称

我正在使用Javascript创建一个CSV文件供用户下载.

在5月22日之前,Chrome仍然使用我指定的名称下载文件.但是,今天我发现下载的文件名为"download",没有扩展名.csv.

Firefox中不存在此问题!

这是一个示例Javascript 的小提琴:

var A = [['n','sqrt(n)']];  // initialize array of rows with header row as 1st item
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) }
var csvRows = [];
for(var i=0,l=A.length; i<l; ++i){
    csvRows.push(A[i].join(','));   // unquoted CSV row
}
var csvString = csvRows.join("\n");

var a = document.createElement('a');
a.href     = 'data:text/csv;charset=utf-8;base64,' + window.btoa(csvString);
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
Run Code Online (Sandbox Code Playgroud)

html javascript csv jquery google-chrome

7
推荐指数
1
解决办法
318
查看次数

Javascript:将包含多行的字符串写入csv文件以供下载

我正在尝试将具有多行(来自服务器端)的字符串写入csv文件,供用户在浏览器中下载.但是,使用我的代码,我只获得包含所有数据的csv文件.这是我的代码:

function getReport(){
    var report = "a,b,c,d;1,2,3,4;";
    //console.log(report);
    var csvcontent="";
    while (report.indexOf(";")!=-1)
    {
        csvcontent=csvcontent+ report.substring(0,report.indexOf(";"))+"\n";
        report=report.substring(report.indexOf(";")+1);
    }

    console.log(csvcontent);
    var a = document.createElement('a');
    a.href     = 'data:attachment/csv,' + csvcontent;
    a.target   = '_blank';
    a.download = 'myFile.csv';
    document.body.appendChild(a);
    //console.log("ok");
    a.click();
}
Run Code Online (Sandbox Code Playgroud)

在下载的csv文件中,所有数据将在单行a,b,c,d1,2,3,4中.谁能告诉我如何解决这个问题?提前致谢!

javascript csv

2
推荐指数
1
解决办法
3107
查看次数

标签 统计

csv ×2

javascript ×2

google-chrome ×1

html ×1

jquery ×1