# FileImport 文件导入
# FileImport 概述
简单的文件导入。选择文件后将 xls 等类型文件内容导入
说明:需要在自己的工程中安装 xlsx 插件,同时在自己工程中的 main.js 中单独引入
此组件只在1.0.19及以上版本有效
插件安装:
cnpm i xlsx --save
cnpm i encoding --save //1.0.25及其以上版本不用安装encoding
工程引入 main.js 中引入:
import XLSX from 'xlsx'
import encoding from 'encoding' //1.0.25及其以上版本不用安装encoding
import HFileImport from 'h_ui/dist/lib/FileImport.js'
Vue.component('h-file-import', HFileImport)
注意:由于浏览器安全性限制,该组件不支持保存文件路径
目前仅支持 chrome
浏览器使用
# FileImport 代码示例
# 基本用法
简单的文件导入。选择文件后将xls等类型文件内容导入,添加 on-choose-file
返回 data (表格数据)及 columndTitle (第一行标题)
# on-change
选中较大文件时使用 on-change 及 on-choose-file 实现 loading 效果
# FileImport API
# FileImport props
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | 导入方式,值可选 select (按钮选择方式导入文件,默认), drag (拖拽方式导入文件) | String | select |
accept | 文件接收类型,详情值参照原生input file accept提供值,默认导入csv/xls/xlsx文件类型 | String | text/csv,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel |
showFileName | 是否在导入文件按钮或者拖拽后显示导入的文件名 | Boolean | true |
selfConfig | 自定义导入,为true添加h-upload-self样式 | Boolean | false |
excelIdx | 从一个文件中的第几张子表开始导入内容 | String || Number | 1 |
excelSize | 从一个文件中的导入几张子表,值可选整数字符或者 all (表示导入所有表内容) | String || Number | 1 |
customWarning | 需与on-warning事件配合使用,当导入文件类型校验不正确时,不弹出组件内部默认弹窗通知,客户可根据事件返回自定义通知内容 | Boolean | false |
# FileImport events
事件名 | 说明 | 返回值 |
---|---|---|
on-change | 选择文件并点击确定后触发 | 第一个参数为状态,true 表示已选中;第二个参数为文件名 fileName |
on-choose-file | 选择文件导入后返回当前要导入的 data 及 dataTitle | 第一个参数为 data,格式为{'sheet1name': [data],}, 第二个参数为dataTitle |
on-warning | 开启 customWarning 属性,选择文件导入后,当校验不通过时触发 | 第一个参数为文件类型、名称、修改时间等信息集合 |