首页 > 其他分享 >vue3 + vite 的Excel表格的导入导出

vue3 + vite 的Excel表格的导入导出

时间:2023-10-30 15:33:32浏览次数:44  
标签:xlsx XLSX utils Excel item json let vue3 vite

  一、安装XLSX插件

yarn add xlsx

或者

npm i xlsx

  二、引入插件

    在你需要的页面或者在main.js中引入

import * as XLSX from 'xlsx'

  三、导出Excel

    3.1 核心api

      ① xlsx.utils.book_new()  新建工作簿

      ② xlsx.utils.json_to_sheet(json数组)创建工作表 json格式

      ③ xlsx.utils.aoa_to_sheet(二维数组)创建工作表 数组格式

      ④ xlsx.utils.book_append_sheet(工作簿, 工作表)

      ⑤ xlsx.writeFile(工作簿,名称,配置项) 下载生成的excel

    3.2 实现示例代码

let exportData = () => {
    // 1 新建工作簿 XLSX.utils.book_new()
    let workbook = XLSX.utils.book_new()

    // 处理数据
    let newTable = tableData.value.map(item => {
        return {
            ID: item.id,
            姓名: item.name,
            日期: item.date,
            地址: item.address
        }
    })
    // 2 创建工作表
    let workSheet = XLSX.utils.json_to_sheet(newTable)

    // 3 workSheet添加到workbook中
    XLSX.utils.book_append_sheet(workbook, workSheet);

    // 4 下载Excel
    XLSX.writeFile(workbook, '信息表.xlsx', {
        bookType: 'xlsx'
    })
}

  四、导入Excel

    4.1 核心api

      ① cosnt fileReader= new FileReader() Web 应用程序异步读取存储在用户计算机上的文件

      ② fileReader.readAsBinaryString(file); 读取文件的内容为二进制

      ③ fileReader.onload 监听读取文件成功

      ④ xlsx.read(数据,配置项) 插件读取文件 生成工作簿

      ⑤ xlsx.utils.sheet_to_json(工作表) 把工作表转化为json

    4.2 实现示例代码

    

let importData = (uploadFile: any) => {

    let file = uploadFile.raw

    // 1 cosnt fileReader=  new FileReader()  Web 应用程序异步读取存储在用户计算机上的文件
    let fileReader = new FileReader()

    // 2 读取文件的内容为二进制
    fileReader.readAsBinaryString(file);

    // 3 fileReader.onload 监听读取文件成功
    fileReader.onload = (e: any) => {
        // console.log(e.target.result);
        // 二进制文件 xlsx.read(数据,配置项)  插件读取文件 生成工作簿
        let workbook = XLSX.read(e.target.result, {
            type: 'binary'
        })
        // console.log(workbook);
        let sheetName = workbook.SheetNames[0];
        let workSheet = workbook.Sheets[sheetName]
        // console.log(workSheet);

        // XLSX.utils.sheet_to_json(工作表) 把工作表转化为json
        let excelDataJson = XLSX.utils.sheet_to_json(workSheet)

        // console.log(excelDataJson);
        tableData.value = excelDataJson.map((item: any) => {
            return {
                id: item.ID,
                name: item.姓名,
                date: item.日期,
                address: item.地址
            }
        })
    }
}

  

   注:该文档为个人理解所写,有误可建议修改

 

标签:xlsx,XLSX,utils,Excel,item,json,let,vue3,vite
From: https://www.cnblogs.com/persistIn/p/17797990.html

相关文章

  • HExcel,一个简单通用的导入导出Excel工具类
    前言日常开发中,Excel的导出、导入可以说是最常见的功能模块之一,一个通用的、健壮的的工具类可以节省大量开发时间,让我们把更多精力放在业务处理上中之前我们也写了一个Excel的简单导出,甚至可以不依赖poi,还扩展了纯前端导出Excel!详情请戳:《POI导出Excel 》,遗憾的是......
  • 工作常用的EXCEL公式 | 某列相同的数据进行汇总
    需求:解决方法:1、对部门排序,再进行分类汇总(数据-分类汇总) 2、选中A列,CTRL+G,快速定位空值,然后点击合并单元格3、选中A列,然后点击格式刷,刷在B列 4、取消分类汇总 5、删除A列,然后筛选B列为0的数据,然后删除,即可。 (调整一下格式即可) ......
  • C#学习笔记之使用Access读取Excel表格
    一、读取Excel表的内容(使用DataSet)1.DataSet定义:表示数据在内存中的缓存。可以理解为,将从Excel表中读取出来的数据存入DataSet类中,之后对DataSet进行数据处理,能提高处理的速度。2.DataSet属性和方法:①属性CaseSensitive:获取或设置一个值,该值指示DataTable中的字符串是否区分......
  • Python 利用pymysql和openpyxl操作MySQL数据库并插入Excel数据
    1.需求分析本文将介绍如何使用Python连接MySQL数据库,并从Excel文件中读取数据,将其插入到MySQL数据库中。2.环境准备在开始本文之前,请确保您已经安装好了以下环境:Python3.xPyMySQL库openpyxl库MySQL数据库3.连接MySQL数据库我们可以使用pymysql库来连接MySQL数据库......
  • Python使用pymysql和xlrd2将Excel数据导入MySQL数据库
    在数据处理和管理中,有时候需要将Excel文件中的数据导入到MySQL数据库中进行进一步的分析和操作。本文将介绍如何使用Python编程语言实现这个过程。导入所需库importxlrd2#导入xlrd2库,用于读取Excel文件importpymysql#导入pymysql库,用于连接和操作MySQL数据库fromdat......
  • 初看vue3源码
    因为工作的原因又回到了vue的领域,需要加深对vue和vue生态的了解也许平时比较多人手机看别人解析怎么看vue源码的,自己动手看vue源码的还是比较少,这次我想自己动手看看首先吧代码获取到本地跑起来vue仓库地址https://github.com/vuejs/vue开发环境搭建指南https://github.com/......
  • Pandas数据导入和导出:CSV、Excel、MySQL、JSON
    导入MySQL查询结果:read_sqlimportpandascon="mysql+pymysql://user:[email protected]/test"sql="SELECT*FROM`student`WHEREid=2"#sql查询df1=pandas.read_sql(sql=sql,con=con)print(df1)导入MySQL整张表:read_sql_table#整张表df2=pandas.rea......
  • 使用 excel 快速拼接省市区镇街村居五级区划完整名称
    你知道的越多,你不知道的越多点赞再看,养成习惯文章目录前言数据准备excel函数附件前言之前做了国家区划的映射关系,在其过程中,使用代码区拼接完整的五级区划,感觉还是比较麻烦的,后面偶然在excel上发现可以使用函数去完成这个拼接操作,记录一下方法。数据准备首先需要准备3个广......
  • navicat导入excel文件
    打开excel文件,将鼠标放在sheet上面,右键,取消隐藏,显示所有表navicat新建库,右键库下面的表按钮,导入向导,选择excel选择excel文件路径,选择要导入的表指定标题行和数据行由于数据库中没有对应的表,选择新建表指定主键和类型选择导入模式点击开始......
  • 使用pandas,Missing optional dependency 'xlrd'. Install xlrd >= 2.0.1 for xls Exce
    遇到问题使用pandas处理excel数据,报错:ImportError:Missingoptionaldependency'xlrd'.Installxlrd>=2.0.1forxlsExcelsupportUsepiporcondatoinstallxlrd.解决方案是xlrd版本不匹配,手动安装xlrd......