Files
mes-ui-d2/static/markdownFiles/article/插件 - 导入.md
李杨 c97b923003 no message
Former-commit-id: 85cc3194e4773a565281bc2cfeccdbfea7040a15
Former-commit-id: 09fdb8d799737bbd072fbed250096cfbaecd0898
Former-commit-id: ffe5c9bedf9c13b23767f2a2ca24684e935601f4
2018-02-15 23:34:17 +08:00

1.2 KiB
Raw Blame History

Vue.$import

本框架集成了数据导入功能,并包装成插件

注册插件

默认已经注册,可以直接使用

import pluginImport from '@/plugin/import'
Vue.use(pluginImport)

之后就可以在组件中使用 this.$import 来调用导出功能

Vue.$import.csv()

导入csv文件并且返回一个 Promise 对象

// 在选择文件后调用
handleUpload (file) {
  this.$import.csv(file)
    .then(res => {
      this.table.columns = Object.keys(res.data[0]).map(e => ({
        label: e,
        prop: e
      }))
      this.table.data = res.data
    })
  // 阻止默认的上传
  return false
}

Vue.$import.xlsx()

导入xlsx文件并且返回一个 Promise 对象

注意 导入的表格文件第一行应为表头

参考下述示例使用

// 在选择文件后调用
handleUpload (file) {
  this.$import.xlsx(file)
    .then(({header, results}) => {
      // header 为表头
      // results 为内容
      this.table.columns = header.map(e => {
        return {
          label: e,
          prop: e
        }
      })
      this.table.data = results
    })
  // 阻止默认的上传
  return false
}