const { Parser } = require('json2csv')
exportCsv () {
if (this.execResult.length == 0) {
this.$message({ showClose: true, message: '没有可以导出的数据', type: 'error' });
return;
}
try {
let columns = this.$refs.table.$children.filter(t => t.prop != null)
const fields = columns.map(t => t.prop)
const fieldNames = columns.map(t => t.label)
var link = document.createElement('a');
const json2csvParser = new Parser({ fields });
// var result = json2csv({ data: this.execResult, fields: fields, fieldNames: fieldNames });
var result = json2csvParser.parse(this.execResult);
var csvContent = 'data:text/csv;charset=GBK,\uFEFF' + result;
var encodedUri = encodeURI(csvContent);
var blob = new Blob(['\ufeff' + result], { type: 'text/csv' }); // 解决大文件下载失败
link.setAttribute('href', URL.createObjectURL(blob));
link.setAttribute('download', this.scriptData.ScriptName + '.csv');
document.body.appendChild(link); // Required for FF
link.click(); // This will download the data file named "my_data.csv".
document.body.removeChild(link); // Required for FF
} catch (err) {
this.$message({ showClose: true, message: '导出失败', type: 'error' });
}
}