iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue实现导入Excel功能步骤详解
  • 749
分享到

Vue实现导入Excel功能步骤详解

2024-04-02 19:04:59 749人浏览 安东尼
摘要

1.前端主导实现步骤 第一步,点击页面上的导入按钮,读入excel文件 利用插件完成。 第二步,按照后端的要求对数据格式加工,转成他们需要的格式 需要自己写逻辑。 第三步,通过后端接

1.前端主导实现步骤

第一步,点击页面上的导入按钮,读入excel文件

利用插件完成。

第二步,按照后端的要求对数据格式加工,转成他们需要的格式

需要自己写逻辑。

第三步,通过后端接口,将数据通过ajax发回去

调接口,常规操作。

简而言之:前端读excel文件,修改文件格式,调接口

2.实现读入Excel文件

注:此步骤就可实现前端导入功能。如对修改格式有兴趣,可以继续看第三步。

概括:复制代码到自己的文件夹下,下载必需的插件。

2.1 使用的是elementUI提供的Vue-admin-element中的上传方法(百度仓库克隆方式,官网也有)

2.2 下载包   npm install xlsx -S  (默认现在已经完成2.1步骤了)

2.3 引入UploadExcel组件并注册为全局(去找UploadExcel这个文件,复制一下,封装组件不必多说 )

不会注册全局组件参考下面代码:(你乐意在main.js里头搞也行,这里我就按可维护性高搞)


import PageTools from './PageTools'
import UploadExcel from './UploadExcel'
 
export default {
  // 插件的初始化, 插件给你提供的全局的功能, 都可以在这里配置
  install(Vue) {
    // 进行组件的全局注册
    Vue.component('PageTools', PageTools) // 注册工具栏组件
    Vue.component('UploadExcel', UploadExcel) // 注册导入excel组件
  }
}

 2.4 引入组件,使用组件,配置路由,设置点击回调函数(不必多说)

2.5 测试效果

浏览器手动输入你设置的路由地址,页面跳转过去


 小结:1.最重要的就是去复制,然后下载必要插件

            2.引入UploadExcel组件(作用是导入Excel文件)是必须的,但是注册全局不是必须的,看心情

            3. 导入组件,给他注册回调函数,他里面的两个参数是必须的,可以参考人家源代码,更易理解

            4.excel导入插件本质:把excel经过分析转换成js能够识别的常规数据,拿到数据我们可以进行任何操作

3.对数据进行加工 

注:此步骤其实考验的是对javascript的运用,可惜这个对我没难度,相信很久之后也是。

3.1 后端要求的格式:

3.2 我们要处理的内容:

  • 字段中文转英文。excel中读入的是姓名,而后端需要的是username
  • 日期处理。从excel中读入的时间是一个number值,而后端需要的是标准日期。

3.3 单独封装一个处理函数:



    transExcel(results) {
      const userRelations = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber',
        '部门': 'departmentName',
        '聘用形式': 'fORMOfEmployment'
      }
      return results.map(item => {
        const obj = {}
        // 1. 取出这个对象所有的属性名: ['姓名', ‘手机号']
        // 2. 遍历这个数组,通过 中文名去 userRelations 找对应英文名, 保存值
        const zhKeys = Object.keys(item)
        zhKeys.forEach(zhKey => {
          const enKey = userRelations[zhKey]
          // 如果是时间格式,就要做转换
          if (enKey === 'correctionTime' || enKey === 'timeOfEntry') {
            obj[enKey] = new Date(formatExcelDate(item[zhKey]))
          } else {
            obj[enKey] = item[zhKey]
          }
        })
 
        return obj
      })
    }
 
handleSuccess({ results, header }) {
    
  console.log('从当前excel文件中读出的内容是', results)
  // results: [{入职日期: 44502, 姓名:xxxx}]
  // 目标:
  // results: [{timeOfEntry: 44502, username:xxxx}]
  // 处理从excel中读入的格式
  const arr = this.transExcel(results)
  console.log('转换之后的格式是', arr)
})

3.4 日期处理函数:


// 把excel文件中的日期格式的内容转回成标准时间
// https://blog.csdn.net/qq_15054679/article/details/107712966
export function formatExcelDate(numb, format = '/') {
  const time = new Date((numb - 25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000 - 24 * 3600000 - 8 * 3600000)
  time.setYear(time.getFullYear())
  const year = time.getFullYear() + ''
  const month = time.getMonth() + 1 + ''
  const date = time.getDate() + ''
  if (format && format.length === 1) {
    return year + format + month + format + date
  }
  return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
}

4.调接口,发请求,在页面中使用


import { importEmployee } from '@/api/employees'
export default {
  name: 'Import',
  methods: {
    async handleSuccess({ results, header }) {
      try {
        console.log('从当前excel文件中读出的内容是', results)
        // results: [{入职日期: 44502, 姓名:xxxx}]
        // 目标:
        // results: [{timeOfEntry: 44502, username:xxxx}]
        const arr = this.transExcel(results)
        console.log('转换之后的格式是', arr)
        // 调用上传的接口,
        const rs = await importEmployee(arr)
        console.log('调用上传的接口', rs)
        // 上传成功之后,回去刚才的页面
        this.$router.back()
        this.$message.success('操作成功')
      } catch (err) {
        this.$message.error(err.message)
      }
    }
}

5 总结: 

导入的功能和导出差不多,难点在于转换数据格式,本篇文章没有过多介绍,但在另一篇导出文章中详细说明了,有兴趣的可以去看看    点我跳转至导出功能实现

到此这篇关于Vue实现导入Excel功能的文章就介绍到这了,更多相关vue导入Excel内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue实现导入Excel功能步骤详解

本文链接: https://www.lsjlt.com/news/129715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue实现导入Excel功能步骤详解
    1.前端主导实现步骤 第一步,点击页面上的导入按钮,读入Excel文件 利用插件完成。 第二步,按照后端的要求对数据格式加工,转成他们需要的格式 需要自己写逻辑。 第三步,通过后端接...
    99+
    2024-04-02
  • vue导入处理Excel表格功能步骤详解
    目录1. 前言2.vue导入Excel表格2.1 使用ElementUI中的upload组件2.2 使用input文件上传3. 总体代码与效果4. 总结1. 前言 最近遇到前端导入并...
    99+
    2024-04-02
  • Vue如何实现导入Excel功能
    这篇文章主要介绍了Vue如何实现导入Excel功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.前端主导实现步骤第一步,点击页面上的导入按钮,读入Excel文件利用插件完...
    99+
    2023-06-20
  • Vue怎么实现导入Excel功能
    这篇文章主要讲解了“Vue怎么实现导入Excel功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue怎么实现导入Excel功能”吧!1.前端主导实现步骤...
    99+
    2024-04-02
  • iview+vue实现导入EXCEL预览功能
    本文实例为大家分享了iview+vue实现导入EXCEL预览的具体代码,供大家参考,具体内容如下 Xboot中,前端实现导入EXCEL预览功能 HTML部分 <!-- 导入数据...
    99+
    2024-04-02
  • 基于Vue实现Excel解析与导出功能详解
    目录前言基本介绍 代码实现 基本结构 上传解析Excel的导出 基本结构 导出Excel 总结前言 最近在整理日常开发中长涉及到的业务需求,正好想到了excel的解析与上传方面的事情...
    99+
    2024-04-02
  • Vue如何实现导出Excel功能
    小编给大家分享一下Vue如何实现导出Excel功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.前端主导流程:点击页面中导出按钮(注册点击事件)事件回调里面,发送请求后台数据对后台数据进行处理,完成想要的效果生成Exc...
    99+
    2023-06-20
  • EasyExcel实现Excel文件导入导出功能
    一、EasyExcel简介 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的fu...
    99+
    2023-09-15
    excel java Powered by 金山文档
  • C#使用NPOI实现Excel导入导出功能
    本文实例为大家分享了C#使用NPOI实现Excel导入导出的具体代码,供大家参考,具体内容如下 Excel导入 使用OpenFileDiolog控件和button结合,选择文件导入,...
    99+
    2024-04-02
  • 详解如何实现在Vue中导入Excel文件
    目录一、安装依赖二、template中三、script中js代码以将此Excel导出为json数据为例 一、安装依赖 npm install file-saver --save n...
    99+
    2024-04-02
  • java实现excel导出合并单元格的步骤详解
    目录一、准备工作二、实现步骤三、完整代码四、总结随着数据的不断增长,很多时候需要将数据导出到Excel中进行分析、处理和展示。而Java作为一种流行的编程语言,自然也提供了很多实现E...
    99+
    2023-05-17
    java 导出excel合并单元格 java 合并单元格 java 导出excel
  • Java实现Excel导入导出操作详解
    目录前言1. 功能测试1.1 测试准备1.2 数据导入1.2.1 导入解析为JSON1.2.2 导入解析为对象(基础)1.2.3 导入解析为对象(字段自动映射)1.2.4 ...
    99+
    2024-04-02
  • Java实现导出Excel功能
    文章参考《Qt5开发及实例(第4版)》陆文周 主编 一、建立Qt工程 1、选择类别 2、建立项目名称 3、选择Qt基类及修改名称 4、选择编译器(这边两个都选择,生成两个Deb...
    99+
    2024-04-02
  • 怎么用Vue代码实现导出Excel功能
    这篇“怎么用Vue代码实现导出Excel功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Vue代码实现导出Excel...
    99+
    2023-07-04
  • 使用SpringBoot+EasyExcel+Vue实现excel表格的导入和导出详解
    目录一、导入和导出二、导出数据为excel实现过程三、将excel中的数据导入到数据库中一、导入和导出 导入:通过解析excel表格中的数据,然后将数据放到一个集合中,接着通过对持久...
    99+
    2024-04-02
  • vue + element-ui如何实现导入导出功能
    小编给大家分享一下vue + element-ui如何实现导入导出功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言众所周知...
    99+
    2024-04-02
  • C#中如何使用NPOI实现Excel导入导出功能
    本文小编为大家详细介绍“C#中如何使用NPOI实现Excel导入导出功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中如何使用NPOI实现Excel导入导出功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • Spring Boot项目怎么实现Excel导入与导出功能
    本文小编为大家详细介绍“Spring Boot项目怎么实现Excel导入与导出功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring Boot项目怎么实现Excel导入与导出功能”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-02
  • SpringBoot+EasyPoi实现excel导出功能
    在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 根据检索条件查询列表并...
    99+
    2024-04-02
  • PHP实现简单搜索功能的步骤详解
    PHP是一种广泛应用于Web开发的服务器端脚本语言,其强大的特性和灵活性使其成为许多网站和应用程序的首选。在许多Web应用程序中,搜索功能是必不可少的一部分,能够帮助用户快速找到需要的...
    99+
    2024-03-06
    搜索 php 步骤 sql语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作