1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <button type="button">Download</button> <script> document.querySelector('button').addEventListener('click', async () => { const content = [ ['name', 'age', 'phone'], ['Alice', 24, '123-456-7890'], ['Bob', 28, '234-567-8901'], ['Charlie', 32, '345-678-9012'], ['David', 36, '456-789-0123'], ['Eve', 40, '567-890-1234'], ] .map((row) => row.join(',')) .join('\n');
download('example.csv', new Blob([content], { type: 'text/plain' })); });
const download = (filename, blob) => { const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = filename; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; </script> </body> </html>
|