1.0.0 • Published 3 years ago

@zjxpcyc/js-export-file v1.0.0

Weekly downloads
-
License
MulanPSL
Repository
-
Last release
3 years ago

@zjxpcyc/js-export-file

项目中经常需要导出 excel 文件。结合现代浏览器的特点,封装一个可以直接使用的导出函数。

本函数适用文件由服务端生成,通过获取 http body 数据来生成文件。

注意: 本函数依赖 Fetch

安装

npm install -S @zjxpcyc/js-export-file

使用

1、先引入

import { exportBlob, exportUrl, fetchBlob } from '@zjxpcyc/js-export-file'
  • exportBlob 依据 blob 数据生成本地文件
  • exportUrl 依据 url 数据生成本地文件
  • fetchBlob 请求 url 对应的 blob 数据

具体函数参数, 请查阅源码

2、部分示例

// response 为请求返回
const { headers } = response;
const contextType = headers.get('Content-Type');

// 判断类型, 此处判断是否为 excel
if (contextType.indexOf('application/vnd.ms-excel') > -1) {
  // 获取 body 数据
  const data = await response.clone().blob();
  // 获取文件描述
  const content = headers.get('Content-Disposition');
  // 获取文件名称
  const fileName = content.replace('attachment;filename=', '')
  // 导出 excel
  exportBlob(decodeURIComponent(fileName), data)
}