# js-export-file **Repository Path**: yansen_zh/js-export-file ## Basic Information - **Project Name**: js-export-file - **Description**: WEB 端导出文件函数 - **Primary Language**: JavaScript - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-12 - **Last Updated**: 2022-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @zjxpcyc/js-export-file 项目中经常需要导出 excel 文件。结合现代浏览器的特点,封装一个可以直接使用的导出函数。 本函数适用文件由服务端生成,通过获取 `http body` 数据来生成文件。 注意: 本函数依赖 [Fetch](https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API/Using_Fetch) ## 安装 ```bash npm install -S @zjxpcyc/js-export-file ``` ## 使用 ### 1、先引入 ```javascript import { exportBlob, exportUrl, fetchBlob } from '@zjxpcyc/js-export-file' ``` * `exportBlob` 依据 `blob` 数据生成本地文件 * `exportUrl` 依据 `url` 数据生成本地文件 * `fetchBlob` 请求 `url` 对应的 `blob` 数据 具体函数参数, 请查阅源码 ### 2、部分示例 ```javascript // 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) } ```