- 下载CSV文件
/** * 导出excel * @param {Object} title 标题列key-val * @param {Object} data 值列key-val * @param {Object} fileName 文件名称 */ exportCSV (title, data, fileName) { let CSV = '' let row = '' for (let i = 0; i < title.length; i++) { if (title[i].label) { row += title[i].label + ',' } } row = row.slice(0, -1) CSV += row + '\r\n' for (let i = 0; i < data.length; i++) { let row = '' for (let j = 0; j < title.length; j++) { if (title[j].label) { row += '"' + (data[i][title[j].label] ? data[i][title[j].label] : '') + '"\t,' } } row.slice(0, row.length - 1) CSV += row + '\r\n' } let uri = new Blob(['\ufeff' + CSV], { type: 'text/csv' }) if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE window.navigator.msSaveOrOpenBlob(CSV, fileName + '.csv') } else { // for Non-IE(chrome、firefox etc.) let link = document.createElement('a') link.href = URL.createObjectURL(uri) link.style = 'visibility:hidden' link.download = fileName + '.csv' document.body.appendChild(link) link.click() document.body.removeChild(link) } },
调用方法this.exportCSV(this.parameter.list.columns, this.list, 'data.csv')
- 下载json文件
exportJSON (data, filename) {
if (!data) {
return
}
data = JSON.stringify(data, undefined, 4)
let url = window.URL.createObjectURL(new Blob([data], { type: 'text/json' }))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.download = filename // 下载后文件名
link.click()
document.body.removeChild(link)// 下载完成移除元素
window.URL.revokeObjectURL(url)// 释放掉blob对象
}
调用方法
this.exportJSON(this.list, 'data.json')