Как экспортировать массив объектов в Excel в Angular4? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть массив объектов, как показано ниже

    [
        {   "FirstName": "John", 
            "LastName": "Parker", 
            "Age": "23", 
            "Cat": "23g",
            "SOP": "Active"
        },
        {   "FirstName": "Rose", 
            "LastName": "Jackson", 
            "Age": "44", 
            "Cat": "44g",
            "SOP": "InActive"
        }
    ]

как я могу экспортировать эти данные вместе с logo компании в Excel и загрузить их.

Любой подходящий плагин для записи objects data и logo image, чтобы преуспеть?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Вы можете использовать эту функцию, она отлично работает со мной

//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;
  }
0 голосов
/ 26 апреля 2018

Лучше всего сделать это со стороны бэкэнда, но, тем не менее, есть несколько пакетов, которые могут сделать то же самое, зацените

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...