Vue-导出Excel文件
网上总结方法比较零散,现总结下使用方法和遇到的问题:
1,安装依赖
cd到Vue项目目录,执行以下命令
npm install file-saver --save2,将工具文件放入工程,一般为:
npm install xlsx --save
npm install script-loader --save-dev
src文件下新建文件vendor,将Blob.js和 Export2Excel.js两个文件拖进去,两个文件链接链接: https://pan.baidu.com/s/1cOAfqoOLsU1MK_evof099Q 提取码: yx3k
3,网络上错误的配置:(
更改webpack.base.conf.js配置
在resolve的alias添加:
【Vue-导出Excel文件】'vendor': path.resolve(__dirname, '../src/vendor'),相应的调用方法里面有句调用路径:
const { export_json_to_excel } = require('../../../vendor/Export2Excel');)
以上操作一直提示错误../../../src/vendor/Export2Excel in ./node_modules/babel-loader/l...,就是找不到文件路径,还让我改相对路径,永远不正确。
以下是正确配置:
webpack.base.conf.js里边resolve-alias信息不用添加。
修改Export2Excel.js文件(网上下载的两个文件之一),在第二行的位置,做如下修改配置:
require('script-loader!@/vendor/Blob');这样路径是对的,和webpack.base.conf.js中resolve下alias的
alias: {是对应的。
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
4,上代码:
script部分:
data(){methods:{
return{
list:[
{
name:'韩版设计时尚风衣大',
number:'MPM00112',
salePrice:'¥999.00',
stocknums:3423,
salesnums:3423,
sharenums:3423,
},
{
name:'韩版设计时尚风衣大',
number:'MPM00112',
salePrice:'¥999.00',
stocknums:3423,
salesnums:3423,
sharenums:3423,
},
]
}
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 = ['name', 'number', 'salePrice', 'stocknums', 'salesnums', 'sharenums', ];
const list = this.goodsItems;
const data = https://www.it610.com/article/this.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, '商品管理列表');
})
}
}
template:
以上代码摘自网上,但是需要注意路径要做相应修改
const { export_json_to_excel } = require('@/vendor/Export2Excel');这样文件就可以导出。
5,以上操作完,还是可能会遇到问题
TypeError: webpack_require(...) is not a function这是因为extract-text-webpack-plugin 插件的使用。安装配置好即可。
安装
npm install extract-text-webpack-plugin --save-dev使用
webpack.base.conf.js中引入该插件
const ExtractTextPlugin = require("extract-text-webpack-plugin");在module.exports->module->rules下添加:
{保存即可导出excel文件
test: /.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
},
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- ExcelPackage读取写入
- Excel|Excel 2013 新增功能之瞬间填充整列数据!
- 如何在手机上查看测试vue-cli构建的项目
- Excel基础知识-打印的那些事(上)
- 教你如何做一个好看的表格,excel使用技巧大全
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- vue|vue js-xlsx导入导出excel文件Demo
- 数据库|效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...
- 用c#转换word或excel文档为html文件|用c#转换word或excel文档为html文件,C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例...