目录版本 环境搭建新建vue 增加ArcGIS JavaScript 包引用 拷贝资源信息页面测试版本 Vue 2 ArcGIS JavaScript 4.22 注意 ArcGIS JavaScrip
顺晟科技
2021-09-08 11:46:05
68
本周项目需要实现导出列表数据的功能,在github上找到了一个比较好用的插件~
简单的整理一下,希望对各位有所帮助。
github地址
使用方法:
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}`;
}
},
},
09
2022-11
09
2022-11
09
2022-11
19
2022-10
19
2022-10
19
2022-10