个人认为前端VUE项目中导出EXCEL比较好的两种方法,均不是我个人原创,我只是收录简单说明,原创地址在下面。

  • 下面推荐两种方法,个人推荐第一种,第二种不做详细讲解,因为作者已经写过博客了,你们可以点击下面链接去学习一下。

下面开始讲第一种vue-json-excel

npm安装依赖包

npm install vue-json-excel

项目入口文件引进注册并且使用
  1. import Vue from 'vue'
  2. import JsonExcel from 'vue-json-excel'
  3. Vue.component('downloadExcel', JsonExcel)
在页面中使用
  1. <download-excel
  2. class = "export-excel-wrapper"
  3. :data = "json_data"
  4. :fields = "json_fields"
  5. name = "filename.xls">
  6. <!-- 上面可以自定义自己的样式,还可以引用其他组件button -->
  7. <!-- <el-button type="primary" size="small">导出EXCEL</el-button> -->
  8. </download-excel>
简单说明一下组件属性
  • json_data: 需要导出的数据
  • json_fields: 自主选择要导出的字段,指定嵌套数据并将标签分配给键是标签的字段,值是JSON字段。这将“按原样”导出字段数据。如果需要自定义导出的数据,可以定义回调函数。
属性名 类型 描述
data Array 需要导出的数据,支持中文
fields Object 定义需要导出的数据
name string 导出EXCEL的文件名
type string 导出EXCLE的文件类型,两种格式xls,csv,默认是xls
可能上面描述不是很明白,下面给个实例,

注意一下几点

  • json_fields里面的属性是excel表每一列的title,注意多个词组组成的属性名要加双引号
  • 如果需要自定义导出的数据,可以定义回调函数。
  1. data() {
  2. return {
  3. json_fields: {
  4. "Complete name": "name", //常规字段
  5. Telephone: "phone.mobile", //支持嵌套属性
  6. "Telephone 2": {
  7. field: "phone.landline",
  8. //自定义回调函数
  9. callback: value => {
  10. return `Landline Phone - ${value}`;
  11. }
  12. }
  13. },
  14. json_data: [
  15. {
  16. name: "Tony Peña",
  17. city: "New York",
  18. country: "United States",
  19. birthdate: "1978-03-15",
  20. phone: {
  21. mobile: "1-541-754-3010",
  22. landline: "(541) 754-3010"
  23. }
  24. },
  25. {
  26. name: "Thessaloniki",
  27. city: "Athens",
  28. country: "Greece",
  29. birthdate: "1987-11-23",
  30. phone: {
  31. mobile: "+1 855 275 5071",
  32. landline: "(2741) 2621-244"
  33. }
  34. }
  35. ],
  36. json_meta: [
  37. [
  38. {
  39. " key ": " charset ",
  40. " value ": " utf- 8 "
  41. }
  42. ]
  43. ]
  44. };
  45. }
EXCEL截图

![EXCEL截图](http://p5z2wdpjb.bkt.clouddn.com/20180918111333.png ''EXCEL截图'')

以上就是这次随笔的内容了,我觉得vue-json-excel已经可以满足大多数的需求了,有什么问题可以去gitub提问或者在我博客下方评论,我会第一时间回复。

个人推荐的两款vue导出EXCEL插件的更多相关文章

  1. 由需求而产生的一款db导出excel的工具

    代码地址如下:http://www.demodashi.com/demo/12062.html 程序员最大的毛病可能就是懒,因为懒所以做出了许许多多提高自己工作效率的工具. 起因于我是商业开发,既然是 ...

  2. 导出Excel插件——Export-CSV ---20150610

    出处:http://bbs.hcharts.cn/thread-99-1-1.html   导出Excel插件——Export-CSV 一.插件信息 插件名:Export-CSV(导出Execl文件) ...

  3. vue 导出excel表格

    对于涉及到数据比较多的管理后台导出excel 表格这个需求就非常的常见了 所以? vue 怎么到处excel表格的? 有两种办法 1:请求接口后台直接给你的是excel文件,你需要做的就是怎么接收ex ...

  4. 【vue开发】vue导出Excel表格教程&demo

    前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来:再比如前端在没有数据库想写些demo玩时,也是很好的选择. 第一步安装依赖包,修改配置 1.装依赖: ...

  5. vue 导出excel

    1.安装三个依赖包 npm install -S file-saver npm install -S xlsx npm install -D script-loader 2.在项目中创建一个文件夹(比 ...

  6. 使用vue导出excel文件

    今天再开发中遇到一件事情,就是怎样用已有数据导出excel文件,网上有许多方法,有说用数据流的方式,https://www.cnblogs.com/yeqrblog/p/9758981.html,但是 ...

  7. vue导出Excel文件

    1.需要安装file-saver和script-loader.xlsx npm install file-saver / yarn add file-saver npm install script- ...

  8. vue 导出excel后端返回乱码下载不了的解析问题

    有俩种方法可以用 第一种方法: 解析:直接解析并且下载后端的乱码  this.download('后端给的导出excel的方法', {        ...this.queryParams  }, ` ...

  9. 优秀工具推荐:两款很棒的 HTML5 游戏开发工具

    HTML5 众多强大特性让我们不需要多么高深技术就能创建好玩的网页游戏,同时证明了开放的 Web 技术能与任何其他在游戏开发中使用的技术竞争.正如标题所说,这篇文章推荐的几款很棒 HTML5 游戏开发 ...

随机推荐

  1. java高并发核心要点|系列3|锁的底层实现原理|ABA问题

    继续讲CAS算法,上篇文章我们知道,CAS算法底层实现,是通过CPU的原子指令来实现. 那么这里又有一个情景: 话说,有一个线程one从内存位置V中取出A,这时候另一个线程two也从内存中取出A,并且 ...

  2. MyBatis:Parameter Maps collection does not contain value for 的问题解决

    Result Maps collection does not contain value for   frontpreviewprofitManage.cdata 出现上述错误 主要是因为你的sel ...

  3. python字符串与列表的相互转化

    一.字符串转化为列表 a = 'abcabcabca' a = a.split('c') print(a) #['ab', 'ab', 'ab', 'a'] 二.列表转化为字符串 li = [&quo ...

  4. java集合源码分析几篇文章

    java集合源码解析https://blog.csdn.net/ns_code/article/category/2362915

  5. springboot与spring比较区别

    一.从一道面试题说起 面试的时候经常会被问到,spring和springboot的区别.或者SpringMVC和Springboot的区别.其实这样的问法就不是特别合适.因为spring.spring ...

  6. 【UOJ#394】[NOI2018] 冒泡排序

    题目链接 题意 求有多少个字典序严格大于给定排列 \(q_i\) 的排列满足其逆序对数(冒泡排序需要交换的次数)达到下限 \(\frac{1}{2}\sum_{i=1}^n |i-p_i|\) Sol ...

  7. Codeforces Round #568 (Div. 2) C2. Exam in BerSU (hard version)

    链接: https://codeforces.com/contest/1185/problem/C2 题意: The only difference between easy and hard ver ...

  8. DevOps之持续集成Pipeline(一)

    一.Pipeline介绍     Jenkins2.0中最大的一个特性就是Pipeline,实际使用中Pipeline已经超越了我们对jenkins本身的理解,可能在之前我们大多数把Jenkins当做 ...

  9. 【webpack4】webpack4配置需要注意的问题

    需要注意的知识: 要全局安装webpack以及webpack cli,否则不能使用webpack指令 npm install webpack -g npm install webpack-cli -g ...

  10. Python连接MySQL之Python库pymysql

    连接数据库 pymysql连接数据库的方式和使用sqlite的方式基本相同: 使用connect创建连接对象 connect.cursor创建游标对象,SQL语句的执行基本都在游标上进行 cursor ...