0.0.2 • Published 6 years ago

cube-derive-util v0.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

文件下载功能组件 cube-derive-util

cube-derive-util将需要下载的数据转成相应文件格式的Buffer数据,并且携带header。通过浏览器解析返回的Buffer数据,完成文件下载。

目录

安装

  • 进入自己的项目的 server 目录,使用 yarn add cube-derive-util 安装服务端依赖。

参数

downloadFile(
  reply,
  {
    dataBody,
    header,
    type,
    options
  });
参数项解释默认值
replyroutes 中 handler 的 reply
dataBody需要导出的数据
header指定导出文件的文件头
type指定导出文件类型csv
options配置文件名,目前只有excel可配置行高列宽
options.wsrows设置每一行的高度,单位为 px10像素
options.wscols设置每一列的宽度,单位为 px100像素
options.fileName设置导出文件的文件名knownsec

注意事项

  • header 中的数据项 text 中英文都可以,只需要满足 headerdataBody 中的 key 对应即可。

  • headerdataBody存在关联,必须满足一定的数据格式,dataBody数组中的每一个对象的keyheader中的元素,如下:

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 文件,文件内容如下:

姓名年龄性别爱好
zhangxueyou18malebasketball
liudehua18femalebaseball

支持功能

  • 目前只可以支持将数据导出成csvxslx文件格式。

贡献者

首席维护

核心开发