cube-derive-util
v0.0.2
Published
Util facilitate to export data as file
Downloads
4
Readme
文件下载功能组件 cube-derive-util
cube-derive-util
将需要下载的数据转成相应文件格式的Buffer数据,并且携带header。通过浏览器解析返回的Buffer数据,完成文件下载。
目录
安装
- 进入自己的项目的
server
目录,使用yarn add cube-derive-util
安装服务端依赖。
参数
downloadFile(
reply,
{
dataBody,
header,
type,
options
});
| 参数项 | 解释 | 默认值 | | ----- | ------ | ------ | | reply | routes 中 handler 的 reply | | | dataBody | 需要导出的数据 | 无 | | header | 指定导出文件的文件头 | 无 | | type | 指定导出文件类型 | csv | | options | 配置文件名,目前只有excel可配置行高列宽 | | options.wsrows | 设置每一行的高度,单位为 px | 10像素 | | options.wscols | 设置每一列的宽度,单位为 px | 100像素 | | options.fileName | 设置导出文件的文件名 | knownsec |
注意事项
header
中的数据项text
中英文都可以,只需要满足header
与dataBody
中的key
对应即可。header
和dataBody
存在关联,必须满足一定的数据格式,dataBody
数组中的每一个对象的key
是header
中的元素,如下:
header: [
{
key: 'name'
text: '姓名'
},
{
key: 'age'
text: '年龄'
},
{
key: 'gender'
text: '性别'
},
{
key: 'enjoy'
text: '爱好'
},
]
dataBody: [
{
'name': 'zhangxueyou',
'age': '18',
'gender': 'male',
'enjoy': 'basketball'
},
{
name: 'liudehua',
age: '18',
gender: 'female',
enjoy: 'baseball'
},
......
]
实例
首先,这个方法直接在你的controller中 import ,传入相应参数,即可想用文件下载的功能。
引入方法
import downloadFile from 'cube-derive-util';
使用
// 在某一个 controller 中,将查询到的数据导出为文件 export const outuputCountries = async(request, reply) => { const { type } = request.query; // type='xlsx' // 假如现在我们已经通过一些查询接口得到类似于上面的数据 downloadFile(reply, { dataBody, header, type, options: { fileName: '全球国家名字', }, }); };
结果
你将会下载一个
全球国家名字.xlsx
文件,文件内容如下:
| 姓名 | 年龄 | 性别 | 爱好 | | ----- | ------ | ------ | ------ | | zhangxueyou | 18 | male | basketball | | liudehua | 18 | female | baseball |
支持功能
- 目前只可以支持将数据导出成
csv
和xslx
文件格式。