Bài toán đặt ra nếu bạn có 1 object data như dưới đây
const data = [ { name: 'Tom', id: '1234'}, { name: 'James', id: '3456'}, { name: 'Jerry', id: '7890'}, { name: 'Peter', id: '4321'} ];
và bạn muốn tạo 1 file .csv đơn giản, download về bằng JavaScript ngay trên trình duyệt của mình. Đoạn code dưới đây sẽ giúp bạn thực hiện điều đó:
const headers = Object.keys(data[0]).join(); const content = data.map(value => Object.values(value).join()); const csv = [headers].concat(content).join("\n"); const element = document.createElement('a'); element.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv); element.target = '_blank'; element.download = 'export.csv'; element.click();
Khi chạy nó sẽ tự động thực hiện việc tạo ra 1 file .csv (định dạng mở bằng Excel) và download chúng về trên trình duyệt. Nội dung file csv sẽ như dưới đây: