34705-vm/assets/js/csv-export.js
Flatlogic Bot 2587a17d37 basic2
2025-10-06 00:19:27 +00:00

30 lines
870 B
JavaScript

function exportToCsv(filename, data) {
if (!data || data.length === 0) {
alert('No data to export.');
return;
}
const headers = Object.keys(data[0]);
const csvRows = [];
csvRows.push(headers.join(','));
for (const row of data) {
const values = headers.map(header => {
const escaped = ('' + row[header]).replace(/"/g, '"');
return `"${escaped}"`;
});
csvRows.push(values.join(','));
}
const csvString = csvRows.join('\n');
const blob = new Blob([csvString], { type: 'text/csv' });
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.setAttribute('hidden', '');
a.setAttribute('href', url);
a.setAttribute('download', filename);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}