1、安装依赖包
npm install -S file-saver xlsx
npm install -D script-load
2、加入文件
建目录vendor,加入文件Blob.js和Export2Excel.js(网上寻找)
3、添加配置
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'vendor': path.resolve(__dirname, '../src/vendor'),
}
在webpack.base.conf.js之中的resolve中的alias加入'vendor': path.resolve(__dirname, '../src/vendor')。如上所示。
4、vue页面添加代码
download () {
console.log('下载表格')
require.ensure([], () => {
const {
export_json_to_excel
} = require('vendor/Export2Excel')
var tHeader = ['Time', '王小明', '李小梅', '林林', '秦小明']
var filterVal = ['year', 'CH1', 'CH2', 'CH3', 'CH4']
var list = this.tableData3
var data = this.formatJson(filterVal, list)
export_json_to_excel(tHeader, data, '身高数据')
})
},
formatJson (filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j]))
},
其中,tHeader为excel标题
filterVal里的数据为vue里的table表格数据。
5、我遇到的错误
- 添加配置的时候,vendor的地址没有写对
- 在Export2Excel.js中需要根据文件放置位置更改Blob的路线
- 在当前vue页面乱添加了import { vendor } from 'vendor'。跟api的使用不同,在页面中我只用到了它的路径,所以去掉这句话
- Identifier 'export_json_to_excel' is not in camel case这个警告忽视(不知道怎么去掉)