Vue插件之导出EXCEl

本周项目需要实现导出列表数据的功能,在githup上找到了一个比较好用的插件~

简单的整理一下,希望对各位有所帮助。

githup地址

使用方法:

1.npm安装依赖

npm install vue-json-excel

2.项目主文件入口main.js全局引入

import JsonExcel from ‘vue-json-excel‘

Vue.component(‘downloadExcel‘, JsonExcel)

3.直接在项目中使用

 <download-excel :data="exportData" :fields="json_fields" name="filename.xls" >
      <span>导出数据</span>
 </download-excel>

4.组件属性说明

属性名 类型 描述
data Array 需要导出的数据,支持中文
fields Object 定义需要导出的数据字段
name string 导出EXCEL的文件名
type string 导出EXCLE的文件类型,两种格式xls,csv,默认是xls
fetch function 回调函数。在下载前通过接口获取数据。只有在没有data属性的情况下该属性才会生效

下面来举几个栗子

<download-excel
    class   = "btn btn-default"
    :data   = "json_data"
    :fields = "json_fields"
    name    = "filename.xls">

    Download Excel (可以自定义自己想要的html)

</download-excel>
const app = new Vue({
    el: ‘#app‘,
    data: {
     //列出自己需要导出的字段
        json_fields: {
            //生成excel的字段:导出数据的字段
            ‘Complete name‘: ‘name‘,
            ‘City‘: ‘city‘,
            ‘Telephone‘: ‘phone.mobile‘,
            ‘Telephone 2‘ : {
                field: ‘phone.landline‘,
                callback: (value) => {
                    return `Landline Phone - ${value}`;
                }
            },
        },
     //导出的数据
        json_data: [
            {
                ‘name‘: ‘Tony Pe?a‘,
                ‘city‘: ‘New York‘,
                ‘country‘: ‘United States‘,
                ‘birthdate‘: ‘1978-03-15‘,
                ‘phone‘: {
                    ‘mobile‘: ‘1-541-754-3010‘,
                    ‘landline‘: ‘(541) 754-3010‘
                }
            },
            {
                ‘name‘: ‘Thessaloniki‘,
                ‘city‘: ‘Athens‘,
                ‘country‘: ‘Greece‘,
                ‘birthdate‘: ‘1987-11-23‘,
                ‘phone‘: {
                    ‘mobile‘: ‘+1 855 275 5071‘,
                    ‘landline‘: ‘(2741) 2621-244‘
                }
            }
        ]
    }
})
json_fields的回调函数有3种写法写法一:
   json_fields: {
        ‘Complete name‘: ‘name‘,
        ‘City‘: ‘city‘,
        ‘Telephone‘: ‘phone.mobile‘,
        ‘Telephone 2‘ : {
            //带field:从该条数据中选择一个字段最深处的数据
            field: ‘phone.landline‘,
            //value就是这个字段值代表最深处的数据
            callback: (value) => {
                return `Landline Phone - ${value}`;
            }
        },
    },

   写法二:

json_fields: {
       ‘Complete name‘: ‘name‘,
       ‘City‘: ‘city‘,
        ‘Telephone‘: ‘phone.mobile‘,
        ‘Telephone 2‘ : {
       //带field:从该条数据中选择一个字段
       field: ‘phone‘,
            //value就是这个字段值
       callback: (value) => {
         return `Landline Phone - ${value.landline}`;
              }
      },
    },     

   写法三:

 json_fields: {
        ‘Complete name‘: ‘name‘,
        ‘City‘: ‘city‘,
        ‘Telephone‘: ‘phone.mobile‘,
        ‘Telephone 2‘ : {
            //没有field:value代表整条数据
            callback: (value) => {
                return `Landline Phone - ${value.phone.landline}`;
            }
        },
    },
 

原文地址:https://www.cnblogs.com/yy136/p/10015561.html

时间: 2024-10-16 05:06:25

Vue插件之导出EXCEl的相关文章

前端vue使用js-xlsx导出excel的三种方法

npm install --save xlsx file-saver 在组件里面引入 import FileSaver from 'file-saver' import XLSX from 'xlsx' 第一种 其中#outTable是在el-table上定义的id exportExcel() { var xlsxParam = { raw: true };//转换成excel时,使用原始的格式 var wb = XLSX.utils.table_to_book(document.querySe

php,phpexcel插件导出excel使用

做了一个星期的导出excel,基本就是重复劳动,只需要完成一个,其它页面就是排版的问题了:比写静态页面还无聊: 网上excel插件应该蛮多的,之前发过一篇导出excel是以csv格式导出,这种方式导出excel有点事速度快,大批量导出数据效率高,跟导出txt文件差不多:缺点导出的文件数据没有格式,不能按照页面样式去导出数据: excel插件缺点就是导出的数据不能太多, 之前测试数据达到几千条基本上就跑不动了, 可能跟服务器性能有关, 但也能说明问题,就是插件对服务器资源消耗很大:我这边应该专门有

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

出处:http://bbs.hcharts.cn/thread-99-1-1.html 导出Excel插件——Export-CSV 一.插件信息 插件名:Export-CSV(导出Execl文件) 插件地址:https://rawgithub.com/highslide-software/export-csv/master/export-csv.js 插件使用:在页面引入export-csv.js即可,详见在线演示平台<导出Excel表格> 二.原理解析通过分析源码,其原理是遍历Highcha

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab

jquery.fileDownload.js插件导出excel

因为使用ajax导出excel会出现问题,所以现在使用jQuery.fileDownload.js插件来解决导出excel的问题 http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/ 在页面引入jquery.fileDownload.js插件 1.如下所示 <script type="text/JavaScript" src="${re

在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3.POI读取Excel有两种格式一个是HSSF,另一个是XSSF. HSSF和XSSF的区别如下: HSSF

Vue实现在前端导出Excel 方法2

也可以去看下我的方法1:https://www.cnblogs.com/yingyigongzi/p/10915382.html ------------------------------------------------------- vue-json-excel:https://github.com/jecovier/vue-json-excel 参考:https://www.cnblogs.com/zengjielin/p/9667476.html npm安装依赖包 cnpm inst

基于Vue + axios + WebApi + NPOI导出Excel文件

一.前言 项目中前端采用的Element UI 框架, 远程数据请求,使用的是axios,后端接口框架采用的asp.net webapi,数据导出成Excel采用NPOI组件.其业务场景,主要是列表页(如会员信息,订单信息等)表格数据导出,如表格数据进行了条件筛选,则需要将条件传至后端api,筛选数据后,导出成Excel. 思考过前端导出的3种方案: 1.使用location.href 打开接口地址.缺点: 不能传token至后端api, 无法保证接口的安全性校验,并且接口只能是get方式请求.

将页面中表格数据导出excel格式的文件(vue)

近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安装可能会出现某些错误,可以使用cnpm): npm install file-saver --save // 保存文件用 npm install xlsx --save // 转二进制用 npm install script-loader --save-dev // xlsx核心文件 2.下载两个核