云计算之VUE-Django开发——数据导出到Excel表

项目开发需要用到VUE框架,还要将数据导出到Excel表中,之前使用ExcelGen框架,现在整合到VUE中后无法使用,顾切换以下VUE框架来实现生产需求。

1、安装3个依赖包并导入2个js包:

cnpm install -S file-saver xlsx(这里其实安装了2个依赖)
cnpm install -D script-loader

2、在src目录下新建一个excel文件夹引入Blob.js和expor2Excal.js:

3、在main.js中全局引入: 

import Blob from './excel/Blob.js'
import Export2Excel from './excel/Export2Excel.js'

4、webpack.base.conf.js做如下修改:

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'scss_vars': '@/styles/vars.scss',
      'excel': path.resolve(__dirname, '../src/excel'),//新增加一行
    }
  },

5、在页面中导出的时候调用outExe:

... ...
methods:{
            outExe:function(env) {
                var y = confirm('此操作将导出excel文件, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                });
                if(y){
                    this.excelData = this.gray_version['deploys']; //你要导出的数据list。
                    this.export2Excel(env)
                }
            },
            export2Excel:function(env) {
                var that = this;
                require.ensure([], () => {
                    const { export_json_to_excel } = require('../../excel/Export2Excel'); //这里必须使用绝对路径
                    const tHeader = ['编号',	'所属中心',	'服务名称',	'当前版本',	'主机组',	'更新时间',	'环境']; // 导出的表头名
                    const filterVal = ['v_id',	'v_gps',	'v_proj',	'v_tag',	'v_hosts',	'v_time',	'v_env']; // 导出的表头字段名
                    const list = that.excelData;
                    const data = that.formatJson(filterVal, list);
                    export_json_to_excel(tHeader, data, `${env}-服务基线数据`);// 导出的表格名称,根据需要自己命名
                })
            },
            formatJson:function(filterVal, jsonData) {
                return jsonData.map(v => filterVal.map(j => v[j]))
            },
            ... ...
}
... ...

6、结果验证

# cnpm run dev

 DONE  Compiled successfully in 1041ms   3:16:25 PM
 I  Your application is running here: http://192.168.89.133:81


点击按钮导出数据成功

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。 这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。 平时不明白的知识点,放在项目里去理解就恍然大悟了。   一、融汇贯通 本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用Python 的Django框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。   二、贴近实战 本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django实现针对数据的增删改查的接口、在Vuejs实现前端增删改查的调用、实现文件的上传、实现格的分页、实现导出数据Excel、实现通过Excel导入数据、实现针对格的批量化操作等等,所有的功能都通过演示完成、贴近了实战   三、课程亮点 在本案例,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互   适合人群: 1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友; 2、有Django基础,但是想学习企业级项目实战的朋友; 3、有MySQL数据库基础的朋友  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值