前端vue导出excel初使用
2019-03-22 17:56
531 查看
初使用
本来是希望可以导出的excel可以合并单元格,查了很久,一直没头绪,能力有限,只能重复信息的
运行环境npm安装 导出excel的插件,随便一查按步骤就好
这可能是比较笨的方法,如果大佬知道怎么让它导出单元格可以合并,或者知道更好的方法,可以联系哦,正在学习中
期待的效果
最终的效果
<template> <div class="app-container"> <!-- 导出按钮 --> <div class="filter-container"> <el-button :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">导出</el-button> </div> </div> </template> <script> export default { data() { return { downloadLoading: false, } }, methods: { handleDownload() { this.downloadLoading = true import('@/vendor/Export2Excel').then(excel => { //后台给的tbody数据 const list = [ { 'oNo': '201905041232', 'sperson': 'moumou', 'address': '杭州市滨江区123街道1299号', 'phone': '15698XXXXX51', 'pperson': 'xiaohong', 'orderDetail': [ { 'leibie': '零食', 'productN': '哇哈哈', 'pNo': '20111111111' }, { 'leibie': '零食22', 'productN': '哇哈哈22', 'pNo': '20111111111' }, { 'leibie': '零食333', 'productN': '哇哈哈333', 'pNo': '20111111111' } ], }, { 'oNo': '201905041232', 'sperson': '小花', 'address': '杭州市滨江区15X51街道1299号', 'phone': '15698XXXXX51', 'pperson': '周到', 'orderDetail': [ { 'leibie': '饮料', 'productN': '农夫山泉', 'pNo': '20111111111' }, { 'leibie': '饮料', 'productN': '农夫山泉2', 'pNo': '20111111111' }, { 'leibie': '饮料', 'productN': '农夫山泉3', 'pNo': '20111111111' }, { 'leibie': '饮料', 'productN': '农夫山泉4', 'pNo': '20111111111' }, ], } ] const tHeader = ['订单编号', '收货人', '地址', '手机号码', '配送员', '订单详情','类别', '商品名称', '商品编号' ] const filterVal = ['oNo', 'sperson', 'address', 'phone', 'pperson', 'orderDetail', 'leibie', 'productN', 'pNo'] var data = [] // 分解数据格式为我需要的格式 for(var i=0;i<list.length;i++) { for(var j=0;j<list[i].orderDetail.length;j++){ var arrayOne = { 'oNo': list[i].oNo, 'sperson': list[i].sperson, 'address': list[i].address, 'phone': list[i].phone, 'pperson': list[i].pperson, 'orderDetail': 'none', 'leibie': list[i].orderDetail[j].leibie, 'productN': list[i].orderDetail[j].productN, 'pNo': list[i].orderDetail[j].productN } data.push(arrayOne) } } // console.log("+++++",tHeader,filterVal,data) excel.export_json_to_excel2(tHeader, data, filterVal, '订单信息') this.downloadLoading = false }) } } } </script>
优化后效果
更方便操作的
处理数据时再处理一步
for(var i=0;i<list.length;i++) { for(var j=0;j<list[i].orderDetail.length;j++){ if(j===0){ var arrayOne = { 'oNo': list[i].oNo, 'sperson': list[i].sperson, 'address': list[i].address, 'phone': list[i].phone, 'pperson': list[i].pperson, 'orderDetail': 'none', 'leibie': list[i].orderDetail[j].leibie, 'productN': list[i].orderDetail[j].productN, 'pNo': list[i].orderDetail[j].productN } }else { var arrayOne = { 'oNo': '', 'sperson': '', 'address': '', 'phone': '', 'pperson': '', 'orderDetail': 'none', 'leibie': list[i].orderDetail[j].leibie, 'productN': list[i].orderDetail[j].productN, 'pNo': list[i].orderDetail[j].productN } } data.push(arrayOne) } }
相关文章推荐
- vue中使用moment来实现导出excel时添加格式化的时间戳
- vue前端实现导入导出excel(兼容IE11)
- react与vue: 实现纯前端导出excel(高效率秒下载)——上手就能用
- Vue实现在前端导出Excel
- 前端vue与 js-xlsx 实现 Excel 文件导出功能
- FE - Vue 使用 XLSL 导出 excel 文件
- js 使用前端导出excel,设置标题和页脚,实现特殊表格需求
- 如何使用JavaScript实现纯前端读取和导出excel文件
- 总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- Vue导出excel功能
- web前端开发系列---Web页面导出excel时的格式问题(长数字显示为科学计数法格式等)
- Java使用POI实现数据导出excel报表
- Java 使用stringTemplate导出大批量数据excel(百万级)
- CI框架中使用PHPExcel导出Excel文件
- ASP.NET导出EXCEl方法使用EXCEl对象
- 转--使用PHP导入Excel和导出数据为Excel文件
- Vue结合后台导入导出Excel问题详解
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第二篇
- POI导出Excel使用教程
- 在Yii框架中使用PHPExcel扩展从数据库导出excel文件功能的实现