方法一:

一、安装依赖(前面基本一样)

npm install file-saver --save
npm install xlsx --save
npm install script-loader --save-dev

二、下载两个所需要的js文件Blob.js和 Export2Excel.js

这里贴下下载地址:

http://xiazai.jb51.net/201708/yuanma/Export2Exce_jb51.rar

三、src目录下新建vendor文件夹,将Blob.js和 Export2Excel.js放进去。

四、更改webpack.base.conf.js配置

在resolve的alias:
'vendor': path.resolve(__dirname, '../src/vendor')

五、在.vue文件中
script部分

data(){
return{
myTable:[
{
no: 1,
goodsName:'哇哈哈',
number:2,
price:16,
customerName:'柳生',
phone:18976545678,
},
{
no:2,
goodName:'棒棒糖',
number:5,
price:10,
customerName:‘张三’,
phone:18166754345,
},
]
} methods:{
formatJson(filterVal, jsonData) {
    return jsonData.map(v => filterVal.map(j => v[j]))
  },
export2Excel() {
    require.ensure([], () => {
      const { export_json_to_excel } = require('../../../vendor/Export2Excel');
      const tHeader = ['序号', '商品名称', '数量', '单价', '会员姓名', '手机号码'];
         const filterVal =
['no', 'goodsName', 'number', 'price', 'customerName', 'phone']
          const list = this.myTable;
      const data = this.formatJson(filterVal, list);
      export_json_to_excel(tHeader, data, '商品管理列表');
    })
  }
}

方法二:

import XLSX from 'xlsx'
data() {
 return {
list: [
       ['序号', '消课时间', '操作人', '课程信息', '', '', '', '', '', '客户信息', '', '上课信息', '', '备注'],
       ['', '', '', '课程名称', '教练名称', '课程价格', '课程次数(剩/总)', '应付金额', '实付金额', '会员姓名', '手机号码', '实际带课教练', '消课单价', '']
     ]
   }
},
methods: {
aaa() {
var arr = this.list
let mergesArr = []
arr[0].forEach((item, index) => {
if (item) {
mergesArr[mergesArr.length] = {
s: {},
e: {}
}
mergesArr[mergesArr.length - 1].s.c = index
mergesArr[mergesArr.length - 1].s.r = 0
mergesArr[mergesArr.length - 1].e.c = index
mergesArr[mergesArr.length - 1].e.r = 0
} else {
mergesArr[mergesArr.length - 1].e.c = index
}
})
mergesArr.forEach((item, index) => {
if (arr[1][item.e.c] === '') {
mergesArr[index].e.r = 1
}
})
return mergesArr
},
printPages(wscols, xlsxName) {
const ws = XLSX.utils.aoa_to_sheet(this.list)
ws['!cols'] = [{ wch: 5 }, { wch: 20 }, { wch: 20 }, { wch: 20 }, { wch: 20 }, { wch: 10 }]
ws['!merges'] = this.aaa()
const wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, ws, '商品管理列表')
/* generate file and send to client */
XLSX.writeFile(wb, '商品管理列表' + '.xlsx')
}
}

最新文章

  1. 为什么FFT时域补0后,经FFT变换就是频域进行内插?
  2. Python使用MySQLdb报Library not loaded: libmysqlclient.18.dylib错误
  3. 素数筛 poj 3518
  4. 发现一php木马代码
  5. cocos2dx 3.x(实现帧动画(人物动画,跑马灯效果)的几种方法)
  6. PHP下拉框内容随单选框内容变化
  7. hdu----(4686)Arc of Dream(矩阵快速幂)
  8. java解析出url请求的路径和参数键值对类 - 转
  9. 判断当前是否运行于Design Mode
  10. 安装完MySQL后必须要调整的10项配置
  11. Delphi XE7中新并行库
  12. css3选择器的比较(二) -- 包含字符串
  13. 24位和8位BMP图片保存纯C代码
  14. 把perl脚本编译成exe
  15. 卷积神经网络CNN公式推导走读
  16. Swing-setMaximumSize()用法-入门
  17. sleep,yield,wait,notify,notifyAll
  18. C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例
  19. 典型分布式系统分析之MapReduce
  20. leetcode(58)-Range Sum Query - Immutable

热门文章

  1. 【笨木头Lua专栏】基础补充07:协同程序初探
  2. org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {解决方法
  3. js中splice()的强大(删除,插入或替换数组的元素)
  4. ubuntu下spring环境搭建
  5. Leetcode Single Number II (面试题推荐)
  6. KindEditor使用过程中,用JQ提交表单时,获取不到编辑器的内容
  7. VMware一些使用心得
  8. 【bzoj2462】[BeiJing2011]矩阵模板
  9. YTU 2906: 多重继承 日期与时间
  10. 【monkey】