import { message } from 'element-ui';
export const download = function(csvData) {
if (csvData.length != 0) {
const data = csvData;
const csv = convertToCSV(data);
downloadCSV(csv, 'data.csv');
} else {
message({ message: '无下载数据', type: 'warning' });
}
};
function convertToCSV(data) {
const csvRows = [];
const headers = Object.keys(data[0]);
csvRows.push(headers.join(','));
for (const row of data) {
const values = headers.map(header => {
if (Array.isArray(row[header])) {
return row[header].join(';');
} else {
return row[header];
}
});
csvRows.push(values.join(','));
}
return csvRows.join('\n');
}
function downloadCSV(csvData, fileName) {
const csvBlob = new Blob([csvData], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
if (link.download !== undefined) {
let url = URL.createObjectURL(csvBlob);
link.setAttribute('href', url);
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
12-06
1251
07-22
2126
04-25