如何在angular4中将对象数组导出到excel?

Roc*_*cky 0 angular

我有一个对象数组,如下所示

    [
        {   "FirstName": "John", 
            "LastName": "Parker", 
            "Age": "23", 
            "Cat": "23g",
            "SOP": "Active"
        },
        {   "FirstName": "Rose", 
            "LastName": "Jackson", 
            "Age": "44", 
            "Cat": "44g",
            "SOP": "InActive"
        }
    ]
Run Code Online (Sandbox Code Playgroud)

我如何将这些数据与logo公司的数据一起导出到 excel 并下载相同的数据。

任何合适的插件来编写objects datalogo image表现出色?

Gel*_*o77 5

你可以使用这个功能,它对我来说很好用

//DOWNLOAD
  download(){
    var csvData = this.ConvertToCSV( this.data);
    var a = document.createElement("a");
    a.setAttribute('style', 'display:none;');
    document.body.appendChild(a);
    var blob = new Blob([csvData], { type: 'text/csv' });
    var url= window.URL.createObjectURL(blob);
    a.href = url;
    var x:Date = new Date();
    var link:string ="filename_" + x.getMonth() +  "_" +  x.getDay() + '.csv';
    a.download = link.toLocaleLowerCase();
    a.click();

  }


// convert Json to CSV data in Angular2
  ConvertToCSV(objArray) {
    var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
    var str = '';
    var row = "";

    for (var index in objArray[0]) {
        //Now convert each value to string and comma-separated
        row += index + ',';
    }
    row = row.slice(0, -1);
    //append Label row with line break
    str += row + '\r\n';

    for (var i = 0; i < array.length; i++) {
        var line = '';
        for (var index in array[i]) {
            if (line != '') line += ','

            line += array[i][index];
        }
        str += line + '\r\n';
    }
    return str;
  }
Run Code Online (Sandbox Code Playgroud)