将页面中表格数据导出excel格式的文件(vue)
近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了。
1、安装相关依赖(npm安装可能会出现某些错误,可以使用cnpm):
1 2 3 | npm install file-saver --save // 保存文件用 npm install xlsx --save // 转二进制用 npm install script-loader --save-dev // xlsx核心文件 |
2、下载两个核心js文件,Blob.js和 Export2Excel.js 下载地址:Blob.js和 Export2Excel.js文件
3、在src目录下新建vendor文件夹,将Blob.js和 Export2Excel.js放进去。
4、更改webpack.base.conf.js配置。
在resolve的alias里添加如下代码:
1 | 'vendor' : path.resolve(__dirname, '../src/vendor' ) |
5、在需要导出excel格式文件的页面中写入以下两个方法,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | methods: { formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j])) }, export2Excel() { const _this = this require.ensure([], () => { const { export_json_to_excel } = require( '../vendor/Export2Excel' ); const tHeader = [ 'ID' , '封面' , '小说名' , '二级分类' , '作者' , '进度' , '更新时间' , '状态' ]; const filterVal = [ 'novelId' , 'imageUrl' , 'title' , 'categoryName' , 'author' , 'completeStatus' , 'updateTime' , 'status' ]; const list = _this.dataList; const data = _this.formatJson(filterVal, list); export_json_to_excel(tHeader, data, '小说列表' ); }) } } |
注意:tHeader表示表头的标题,filterVal表示表头的字段名,可通过点击事件调用导出方法。
1 | <button type= "primary" @click= "export2Excel" >导出</button> |
作者:江峰★
出处:http://www.cnblogs.com/jf-67/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?