首页 » 网站推广 » xls转php数组技巧_vue3导入excel并转化成数组

xls转php数组技巧_vue3导入excel并转化成数组

访客 2024-11-24 0

扫一扫用手机浏览

文章目录 [+]

先导入xlsx

npm install xlsximport as XLSX from "xlsx"; // vue3可用此引入上传组件用了element-plus的el-upload组件

<template> <el-upload class="upload-demo" action="" drag :auto-upload="false" :on-change="uploadChange" :limit="1" > <i class="el-icon-upload"></i> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> </el-upload></template>代码实现部分

<script lang="ts">import { defineComponent } from "vue";import as XLSX from "xlsx"; // vue3可用此引入export default defineComponent({ name: "upload", setup() { const uploadChange = async (e) => { console.log(e); const files = e.raw; if (files.length <= 0) { return false; } else if (!/\.(xls|xlsx)$/.test(files.name.toLowerCase())) { console.log("上传格式禁绝确,请上传xls或者xlsx格式"); return false; } // 读取表格 const fileReader = new FileReader(); fileReader.onload = (ev) => { const workbook = XLSX.read(ev.target.result, { type: "binary", }); const wsname = workbook.SheetNames[0]; const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]); // console.log(ws); // 转换成json的数据 const m = dealExcel(ws) // ...对数据进行自己须要的操作 console.log(m) }; fileReader.readAsBinaryString(files); }; const dealExcel = (ws) => { let keymap = { // 我们要转换的开头 菜名: "dishes", 先容: "introduce", 配料: "ingredients", 标签: "label", 提示: "tips", 水平: "hor", 办法: "way", 韶光: "time", 风味: "flavor", 步骤: "steps" } ws.forEach((sourceObj) => { let arr = new Array() Object.keys(sourceObj).map((keys) => { if(keys.includes('步骤')) { arr.push(sourceObj[keys]) delete sourceObj[keys] } else if (keymap[keys]) { sourceObj[keymap[keys]] = sourceObj[keys] delete sourceObj[keys] } }) sourceObj['steps'] = arr }) return ws } return { uploadChange, } }})</script>结果

先读取file文件,然后通过判断后缀来区分是不是excel文件

xls转php数组技巧_vue3导入excel并转化成数组

接着读取数据并转换成json格式

xls转php数组技巧_vue3导入excel并转化成数组
(图片来自网络侵删)

dealExcel这个函数,用于处理表格里的中文表头,把它转化成对应的key值

末了须要处理多个步骤,把这些步骤转化成一个array数组,并输出出来。

末了末了,前端这边最多只能进行5万旁边的数据流,太多浏览器就会崩溃了,有大佬有优化的方法,烦请教教我。

末了

公众年夜众号:小何发展,佛系更文,都是自己曾经踩过的坑或者是学到的东西

有兴趣的小伙伴欢迎关注我哦,我是:何小玍。
大家一起进步鸭

标签:

相关文章

C语言绘图之旅,探索编程之美

C语言,作为一门经典的编程语言,自诞生以来就以其高效、简洁的特点备受程序员喜爱。在C语言的世界里,我们可以通过代码的魔法,将抽象的...

网站推广 2024-12-26 阅读0 评论0

C语言绘制直线之美,技术与艺术的交融

在计算机图形学领域,直线绘制是一项基础而又重要的技术。C语言作为一门功能强大的编程语言,在直线绘制方面具有独特的优势。本文将探讨C...

网站推广 2024-12-26 阅读0 评论0

C语言线程数,高效并行编程的关键

在当今高速发展的计算机时代,并行编程已经成为提高程序运行效率的重要手段。C语言作为一种经典的编程语言,具有强大的功能和丰富的库函数...

网站推广 2024-12-26 阅读0 评论0

C语言算术之美,介绍计算机世界的运算基石

C语言作为计算机编程语言的基石,其算术运算功能贯穿于整个编程过程。从基础的加、减、乘、除,到复杂的三角函数、指数运算,C语言的算术...

网站推广 2024-12-26 阅读0 评论0