Vue.js第四天学习笔记


Posted in Javascript onDecember 02, 2016

分享一段将json数组数据以csv格式导出的代码:

html:

<button class="btn btn-danger" @click='exportData'>导出</button>

js:

// 导出数据
  exportData: function() {
   let tableHeader = [{
    colname: 'type',
    coltext: '类型',
   }, {
    colname: 'name',
    coltext: '商品名称',
   }, {
    colname: 'number',
    coltext: '数量',
   }, {
    colname: 'price',
    coltext: '单价',
   }];
   let tableBody = [{
    type: '食品',
    name: '旺旺雪饼',
    number: '100箱',
    price: '25元/袋'
   }, {
    type: '食品',
    name: '双汇火腿',
    number: '50箱',
    price: '5元/根'
   }, {
    type: '食品',
    name: '毛毛虫面包',
    number: '10箱',
    price: '3元/袋'
   }, {
    type: '食品',
    name: '阿尔卑斯棒棒糖',
    number: '10箱',
    price: '0.5元/个'
   }, {
    type: '食品',
    name: '蒙牛酸奶',
    number: '20箱',
    price: '12.9元/瓶'
   }, {
    type: '水果',
    name: '香蕉',
    number: '10斤',
    price: '2.5元/斤'
   }, {
    type: '水果',
    name: '葡萄',
    number: '20斤',
    price: '4元/斤'
   }, {
    type: '水果',
    name: '榴莲',
    number: '10斤',
    price: '24元/斤'
   }, {
    type: '水果',
    name: '李子',
    number: '20斤',
    price: '4元/斤'
   }];
   var csv = '\ufeff';
   var keys = [];
   tableHeader.forEach(function(item) {
    csv += '"' + item.coltext + '",';
    keys.push(item.colname);
   });
   csv = csv.replace(/\,$/, '\n');
   tableBody.forEach(function(item) {
    var _item = {};
    keys.forEach(function(key) {
     csv += '"' + item[key] + '",';
    });
    csv = csv.replace(/\,$/, '\n');
   });
   csv = csv.replace(/"null"/g, '""');
   var blob = new Blob([csv], {
    type: 'text/csv,charset=UTF-8'
   });
   var csvUrl = window.URL.createObjectURL(blob);
   var a = document.createElement('a');
   var now = new Date();

   function to2(num) {
    return num > 9 ? num : '0' + num;
   }
   a.download = '进货信息导出' + now.getFullYear() + to2((now.getMonth() + 1)) + to2(now.getDate()) + to2(now.getHours()) + to2(now.getMinutes()) + to2(now.getSeconds()) + '.csv';
   a.href = csvUrl;
   document.body.appendChild(a);
   a.click();
   document.body.removeChild(a);
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 中对象的继承〔转贴〕
Jan 22 Javascript
XML的代替者----JSON
Jul 21 Javascript
jquery 检测元素是否存在的实例代码
Nov 19 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
Feb 26 Javascript
JavaScript中实现map功能代码分享
Jun 11 Javascript
jquery拖拽效果完整实例(附demo源码下载)
Jan 14 Javascript
第二篇Bootstrap起步
Jun 21 Javascript
js实现日历与定时器
Feb 22 Javascript
AngularJS constant和value区别详解
Feb 28 Javascript
EasyUI在Panel上动态添加LinkButton按钮
Aug 11 Javascript
vue中引入第三方字体文件的方法示例
Dec 17 Javascript
JavaScript实现简单随机点名器
Nov 21 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
Dec 02 #Javascript
基于javascript实现按圆形排列DIV元素(三)
Dec 02 #Javascript
js中动态创建json,动态为json添加属性、属性值的实例
Dec 02 #Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 #Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 #Javascript
详解JavaScript中数组的reduce方法
Dec 02 #Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 #Javascript
You might like
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php中__toString()方法用法示例
2016/12/07 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
python中的lambda表达式用法详解
2016/06/22 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
python装饰器深入学习
2018/04/06 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Python中new方法的详解
2019/01/15 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
python用700行代码实现http客户端
2021/01/14 Python
几个判断型的面试题
2012/07/03 面试题
大学生关于奋斗的演讲稿
2014/01/09 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
幼师求职信
2014/06/23 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
篮球拉拉队口号
2015/12/25 职场文书
创业计划书之农家乐
2019/10/09 职场文书
Redis三种集群模式详解
2021/10/05 Redis