custom-json2excel (github地址:github.com/xxj95719/cu…)
闲来无事,胡乱倒腾,菜鸡一枚,大佬嘴下留情...
插件安装
yarn add custom-json2excel
or
npm install custom-json2excel
复制代码
使用方式
1、直接转化 json:
import Json2excel from 'custom-json2excel'
const data = [
{
name: '哈哈',
age: 1,
sex: '男',
companyName: '公司1',
companyAddress: '公司地址1'
},
{
name: '呵呵',
age: 2,
sex: '女',
companyName: '公司2',
companyAddress: '公司地址2'
},
{
name: '嘻嘻',
age: 3,
sex: '男',
companyName: '公司3',
companyAddress: '公司地址3'
},
{
name: '啦啦',
age: 4,
sex: '女',
companyName: '公司4',
companyAddress: '公司地址4'
}
]
const json2excel = new Json2excel({ data })
json2excel.generate()
复制代码
2、自定义头部无需过滤字段时的使用方式:
import Json2excel from 'custom-json2excel'
const data = [
{
name: '哈哈',
age: 1,
sex: '男',
companyName: '公司1',
companyAddress: '公司地址1'
},
{
name: '呵呵',
age: 2,
sex: '女',
companyName: '公司2',
companyAddress: '公司地址2'
},
{
name: '嘻嘻',
age: 3,
sex: '男',
companyName: '公司3',
companyAddress: '公司地址3'
},
{
name: '啦啦',
age: 4,
sex: '女',
companyName: '公司4',
companyAddress: '公司地址4'
}
]
const keyMap = {
name: '姓名',
age: '年龄',
sex: '性别',
companyName: '公司名称',
companyAddress: '公司地址'
}
const json2excel = new Json2excel({ data, keyMap })
json2excel.generate()
复制代码
3、需要过滤字段时的使用方式:
import Json2excel from 'custom-json2excel'
const data = [
{
name: '哈哈',
age: 1,
sex: '男',
companyName: '公司1',
companyAddress: '公司地址1'
},
{
name: '呵呵',
age: 2,
sex: '女',
companyName: '公司2',
companyAddress: '公司地址2'
},
{
name: '嘻嘻',
age: 3,
sex: '男',
companyName: '公司3',
companyAddress: '公司地址3'
},
{
name: '啦啦',
age: 4,
sex: '女',
companyName: '公司4',
companyAddress: '公司地址4'
}
]
const keyMap = {
name: '姓名',
age: '年龄',
sex: '性别',
companyName: '公司名称',
companyAddress: '公司地址'
}
const filters = ['sex']
const json2excel = new Json2excel({ data, keyMap, filters })
json2excel.generate()
复制代码
4、需要表格标题时的使用方式:
import Json2excel from 'custom-json2excel'
const data = [
{
name: '哈哈',
age: 1,
sex: '男',
companyName: '公司1',
companyAddress: '公司地址1'
},
{
name: '呵呵',
age: 2,
sex: '女',
companyName: '公司2',
companyAddress: '公司地址2'
},
{
name: '嘻嘻',
age: 3,
sex: '男',
companyName: '公司3',
companyAddress: '公司地址3'
},
{
name: '啦啦',
age: 4,
sex: '女',
companyName: '公司4',
companyAddress: '公司地址4'
}
]
const keyMap = {
name: '姓名',
age: '年龄',
sex: '性别',
companyName: '公司名称',
companyAddress: '公司地址'
}
const filters = ['sex']
const title = [
{ name: '个人信息', colspan: 3 },
{ name: '公司信息', colspan: 2 }
]
const json2excel = new Json2excel({ data, title })
json2excel.generate()
复制代码
Props type
Prop | Type | Defaults | Required | Description |
---|---|---|---|---|
data | Array | [] | ✓ | 转化成表格初始 json 数据 |
filters | Array | [] | × | 需要过滤的字段数组 |
footer | Array | [] | × | 表格最后一列名称,参数同 title |
keyMap | Object | {} | × | keyMap 映射表,用于自定义表格头部名称 |
name | String | excel | × | excel 表格名称 |
title | Array | [] | × | 表格标题名称 {name:String,colspan:Number} name:名称, colspan:列数 |
type | String | xls | × | 生成的表格类型,可选值(xls、csv) |