从Angular 5返回CSV文件

时间:2018-06-27 19:52:44

标签: angular typescript

我正在寻找一种从阵列中的数据创建CSV文件并由用户下载的解决方案。当然按下按钮后。哪个选项需要最少的精力,而对angular5来说是最佳选择?

我找到了一个:

npm install file-saver --save

1 个答案:

答案 0 :(得分:4)

您不需要Angular就能做到这一点,只需使用普通的javascript:

// create the csv
const headers = ['header1', 'header2', ...];
let csvContent = 'data:text/csv;charset=utf-8,%EF%BB%BF';
csvContent += headers.join(';') + '\n';
for (const d of data) {
  const row = [d.cell1, d.cell2].join(';');
  csvContent += row + '\n';
}

// do the download stuff
const encodedUri = csvContent;
const link = document.createElement('a');
link.setAttribute('target', '_blank');
link.setAttribute('href', encodedUri);
link.setAttribute('download', `your_filename.csv`);
document.body.appendChild(link);
link.click();
link.remove();