我正在寻找一种从阵列中的数据创建CSV文件并由用户下载的解决方案。当然按下按钮后。哪个选项需要最少的精力,而对angular5来说是最佳选择?
我找到了一个:
npm install file-saver --save
答案 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();