# FileExport 文件导出

# FileExport 概述

简单的文件导出。导出xls/xlsx类型文件
说明:需要在自己的工程中安装xlsx插件,同时在自己工程中的main.js中单独引入

此组件只在1.0.19及以上版本有效

插件安装:

cnpm i xlsx --save

工程引入 main.js 中引入:

import XLSX from 'xlsx'
import HFileExport from 'h_ui/dist/lib/FileExport.js'
Vue.component('h-file-export', HFileExport)

目前仅支持 chrome 浏览器使用

# FileExport 使用提示

FileExport 导出组件只支持 50M(30 列 60000 行表格数据)以内的文件导出,超出该限制请使用后台导出方式导出文件

# FileExport 代码示例

# 基本用法

简单的文件导出。支持导出文件类型:xls/xlsx。同时支持传入数据集分表导出至一个文件
sheetTypetable 时,可传入 sheetHeaderssheetTableData 导出数据
其中 sheetHeaders 格式为:[[子表 1header],[子表 2header], ... ],例如:[[{title: '姓名', key: 'name', exportRender: (cell, row) =>{ return '重新渲染过的数据' }},....],[子表2header],...]
其中 sheetTableData 格式为:[[子表 1Data],[子表 2Data], ... ],例如:[[{name: '张三',...}, {name: '李四',...},....],[子表2Data],...]
sheetTypeself 时,可传入 sheetSelfData 导出数据 其中 sheetSelfData 格式为:[[[最终显示的表头],[最终显示的数据1],...],[子表2数据]],例如:[ [['列表1','列表2'],['111','aaa']], [['列表1','列表2'],['222','bbb']], []]

# FileExport API

# FileExport props

属性 说明 类型 默认值
fileName 导出文件名 String test
fileType 导出文件类型,支持 xls xlsx String xls
sheetType 导出子表类型,值可选 table (导出表格数据【组件根据 sheetHeaders:及 sheetTableData 生成最终导出数据】,表格默认), self (导出自定义数据) String table
sheetNames 导出文件子表名称集合,格式:['子表1','子表2',...] Array []
sheetTitleNames 导出文件标题集合,子表第一行显示标题,格式:['子表 title1','子表 title2',...] Array []
sheetHeaders 导出文件的 header 集合,sheetType 为 table 时使用,sheetHeaders 格式为:[[子表 1header],[子表 2header], ... ],例如:[[{title: '姓名', key: 'name', exportRender: (cell, row) =>{ return '重新渲染过的数据' }},....],[子表 2header],...]header内部格式与 table 组件的 column 类似,需要有 title [显示名称],key [表格列的 key],exportRender [列数据导出渲染函数] Array []
sheetTableData 导出文件的 data 集合,sheetType 为 table 时使用,sheetTableData 格式为:[[子表 1Data],[子表2Data], ... ],例如:[[{name: '张三',...}, {name: '李四',...},....],[子表2Data],...]data 内部格式与 table 组件的 data 类似 Array []
sheetSelfData 导出文件的 data 集合,sheetType 为 self 时使用,sheetSelfData 格式为:[[[最终显示的表头],[最终显示的数据 1],...],[子表2数据]] Array []
noTipText 无导出数据时的提示文本 String 暂无导出数据
beforeExport 导出前的操作判断是否进行导出, 返回 true 继续导出,返回 false-不进行导出【该属性仅在 1.0.23 及其以上版本使用】 Function -
beforeSave 调用浏览器保存文件前的判断是否继续, 返回 true 继续保存,返回 false-不进行保存,入参为组装完成的表格文件流【该属性仅在 1.16.0 及其以上版本使用】 Function -

# FileExport events

事件名 说明 返回值
on-success 文件生成成功后触发(无法根据此事件判断点击了文件选框的保存还是取消) -

# FileExport slot

名称 说明
- 自定义导出按钮

# FileExport性能

下载文件大小 1M(30列*2000行) 5M(30列*7500行) 10M(30列*15000行)
耗时 697ms 2529ms 4992ms