vue项目中导出excel表格数据
一、需要安装三个依赖:
npm install -S file-saver xlsx
npm install -D script-loader
二、项目中新建文件夹(文件名excel)
里面放置两个文件Blob.js和 Export2Excel.js。
下载链接:https://pan.baidu.com/s/1fjSFq-XMLKFG2qVhhjSzGA
提取码:bo09
复制这段内容后打开百度网盘手机App,操作更方便哦
三、在vue的methods方法中:
页面添加导出按钮,加入方法
//导出书刊列表数据 exportData(){ this._getBookExport() }, _getBookExport(){ let exportBook = { libraryId:this.libraryId, isbnOrIssn:this.isbnOrIssn, category:this.category, bookSn:this.bookSn, status:this.status, } getBookExport(exportBook).then(res=>{ if(res.data.errcode === 0){ this.exportList = res.data.data this.export2Excel() } else if (res.data.errcode === 40190){ this.$Message.info('数据太多无法导出,请联系客服!') } }) }, export2Excel() { require.ensure([], () => { const { export_json_to_excel } = require('../../excel/Export2Excel'); const tHeader = ['书刊编号', '书刊名称', 'ISBN/ISSN', '索取号', '定价','类别']; const filterVal = ['bookSn', 'title', 'isbnOrIssn', 'callNumber', 'price','category']; const list = this.exportList; const data = this.formatJson(filterVal, list); export_json_to_excel(tHeader, data, '书刊数据'); }) }, formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j])) }
四、假如项目有很多个导出,每个都写就太麻烦了
可以提取到一个js文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 | export function export2Excel(columns,list){ require.ensure([], () => { const { export_json_to_excel } = require( '../../excel/Export2Excel' ); let tHeader = [] let filterVal = [] columns.forEach(item =>{ tHeader.push(item.title) filterVal.push(item.key) }) const data = list.map(v => filterVal.map(j => v[j])) export_json_to_excel(tHeader, data, '数据列表' ); }) } |
在需要的页面import引入
1 | import { export2Excel } from '@/common/js/util' |
1 2 3 4 5 6 7 8 9 10 11 | exportData(){ let info = {from: 0,size: 300} getDonateList(info).then(res =>{ if (res.data.errcode === 0){ this .exportList = this .formatList(res.data.data.records) export2Excel( this .columns1, this .exportList) } else if (res.data.errcode === 40190){ this .$Message.info( '数据太多无法导出,请联系客服!' ) } }) } |
标签:
excel导出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!