1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 前端vue导出Zip文件

前端vue导出Zip文件

时间:2023-06-24 21:30:26

相关推荐

前端vue导出Zip文件

第一步:下载插件

npm install jszip /npm install script-loader / npm install file-saver

第二步:封装js代码

require('script-loader!file-saver');import JSZip from 'jszip'//th是头部标题,jsonData是数据,txtName是txt文件名字,zipName是压缩包的名字export function export_txt_to_zip(th, jsonData, txtName, zipName) {const zip = new JSZip()const txt_name = txtName || 'file'const zip_name = zipName || 'file'const data = jsonDatalet txtData = `${th}\r\n`data.forEach((row) => {let tempStr = ''tempStr = row.toString()txtData += `${tempStr}\r\n`})zip.file(`${txt_name}.txt`, txtData)zip.generateAsync({type: "blob"}).then((blob) => {saveAs(blob, `${zip_name}.zip`)}, (err) => {alert('导出失败')})}

第三部:调用js进行生成压缩包进行下载

//触发事件进项调用handleDownload() {import('@/vendor/Export2Zip').then(zip => {const tHeader = ['Id', 'Title', 'Author', 'Readings', 'Date']const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time']const list = this.listconst data = this.formatJson(filterVal, list)zip.export_txt_to_zip(tHeader, data, this.filename, this.filename)})},formatJson(filterVal, jsonData) {return jsonData.map(v => filterVal.map(j => v[j]))}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。