下载插件

npm install -S xlsx

import * as XLSX from "xlsx"; // Vue3 版本
<el-upload class="upload-demo"accept=".xlsx":http-request="channel":show-file-list="false":limit="1"><el-button type="primary">导入表格</el-button></el-upload>

上传的表格文件格式 

 

// 导入表格
async function channel(uploadFile: any) {// console.log(uploadFile)let file = uploadFile.filelet dataBinary = await readFile(file);let workBook = XLSX.read(dataBinary, { type: "binary", cellDates: true })let workSheet = workBook.Sheets[workBook.SheetNames[0]]const excelData = XLSX.utils.sheet_to_json(workSheet, { header: 1 })// console.log(excelData)Form.value.details = []// 处理数据核心,根据自己的数据格式进行修改excelData.forEach((item: any, index: number) => {if(index!=0&&index!=1&&index!=excelData.length-1){Form.value.details.push({summary: item[0],employee_no: item[1],amount: item[2],account_name: item[3],account_number: item[4],bank_name: item[5],notes: item[6],})}})Form.value.plan_name = excelData[0][0]Form.value.total_amount = excelData[excelData.length - 1][1]// console.log(Form.value.details)Dialog.value = true
}
const readFile = (file) => {return new Promise((resolve) => {let reader = new FileReader()reader.readAsBinaryString(file)reader.onload = (ev) => {resolve(ev.target?.result)}})
}

导入的表格数据 

 简析出来的数据

渲染到页面

导入数据进行渲染的核心是处理得到的数据改为渲染的数组对象格式 

以下是处理其他数据的参考

 找到数据规律进行处理

  let indexX = 1paymentForm.value.details.map((item1: any, i1: number) => {return item1.child.map((item2: any, i2: number) => {indexX++let indexY = 2return item2.detail.map((item3: any, i3: number) => {return item3.data.map((item4: any, i4: number) => {indexY++item4.amonut = excelData[indexY][indexX]return item4})})})})

vue3 导出表格,合并单元格,设置单元格宽度,文字居中,修改文字颜色-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/87221.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/87221.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/87221.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成模型_条件编码器

条件编码器可以采用不同的网络结构&#xff0c;UNet 是其中非常常见的一种&#xff0c;尤其在 Diffusion 和图像生成任务中用得最多。 &#x1f9e0; 什么是“条件编码器”&#xff1f; 在 **条件生成模型&#xff08;Conditional GAN / Diffusion&#xff09;**中&#xff0c…

@Scheduled, @PostConstruct, @PreDestroy, @Async, @OnApplicationEvent

注解名称模块功能引入年份版本是否推荐使用PostConstructjavax.annotation (Java EE) / spring-beansBean 初始化完成后执行的方法2006Java EE 5 / Spring 2.0✔️ 推荐PreDestroyjavax.annotation (Java EE) / spring-beansBean 销毁前执行的方法2006Java EE 5 / Spring 2.0✔…

小程序请求加载提示防闪烁机制详解

目录 一、问题背景&#xff1a;闪烁现象的产生 二、完整解决方案代码 三、核心防闪烁机制解析 1. 请求计数器&#xff08;requestCount&#xff09; 2. 延迟隐藏定时器&#xff08;关键创新&#xff09; 3. 100ms缓冲期的重要意义 四、关键场景对比分析 场景1&#xff…

linux防火墙讲解

目录 安全管理 一、SELinux安全上下文 1、SELinux 简介 2、基础操作命令 1. 查看SELinux状态 2. 切换工作模式* 3、安全上下文&#xff08;Security Context&#xff09; 1. 查看上下文* 2. 修改上下文 chcon命令 semanage 命令 4、SELinux布尔值&#xff08;Boole…

巧用 Python:将 A3 作业 PDF 轻松转为 A4 可打印格式

在孩子的学习过程中&#xff0c;我们常常会遇到这样的困扰&#xff1a;学校老师发的作业是以 A3 格式的 PDF 文件呈现的&#xff0c;然而家里的打印机却只支持 A4 打印。这时候&#xff0c;要是能有一个简单的方法把 A3 的 PDF 转换为 A4 可打印的格式就好了。别担心&#xff0…

Transformer 核心概念转化为夏日生活类比

以下是把 Transformer 核心概念转化为「夏日生活类比」&#xff0c;不用看代码也能秒懂&#xff0c;搭配冰镇西瓜式记忆法&#xff1a; 一、Transformer 夏日冷饮制作流水线 编码器&#xff08;Encoder&#xff09;&#xff1a;相当于「食材处理间」 把输入&#xff08;比如…

【Linux基础知识系列】第二十九篇-基本的网络命令(ping, traceroute, netstat)

在Linux系统中&#xff0c;网络诊断是系统管理员和用户日常工作中不可或缺的一部分。无论是排查网络连接问题、检查网络延迟&#xff0c;还是监控网络状态&#xff0c;掌握一些基本的网络命令至关重要。本文将详细介绍ping、traceroute和netstat这三种常用的网络命令&#xff0…

javaee初阶-多线程

1.什么是线程 1.1 进程 要了解线程我们首先需要了解什么是进程&#xff1f; 运行的程序在操作系统中以进程的方式运行&#xff0c;比如说电脑打开不同的软件&#xff0c;软件就是不同的进程 1.1.1进程的组织方式 通过双向链表 创建进程就是在双向链表上添加PCB 销毁一个进…

N数据分析pandas基础.py

前言&#xff1a;在数据分析领域&#xff0c;Python 的 Pandas 库堪称得力助手。它不仅拥有高效的数据处理能力&#xff0c;还能与 NumPy 完美配合——后者强大的数值计算功能为 Pandas 提供了坚实的技术基础。 目录 Pandas数据分析实战&#xff1a;解锁数据处理的高效之道 数…

卫星通信链路预算之二:带宽和功带平衡

在上一个章节卫星通信链路预算之一&#xff1a;信噪比分配 中&#xff0c;我们介绍了卫星通信链路中最核心的概念&#xff1a;信噪比分配&#xff0c;并给出了卫星通信链路总信噪比的计算公式。 本篇文章&#xff0c;我们将介绍卫星通信链路中的另外一个基本概念&#xff1a;带…

QGIS新手教程5:图层属性查询与表达式筛选技巧

✅ QGIS新手教程5&#xff1a;图层属性查询与表达式筛选技巧 字段筛选、表达式构建器、选择集操作一步到位&#xff01; 目录 ✅ QGIS新手教程5&#xff1a;图层属性查询与表达式筛选技巧&#x1f4c1; 一、示例数据准备&#xff08;继续使用第四篇中的示例&#xff09;&#…

用 el-dialog 做出弹出框是图片

今天项目上用到个功能是点击按钮弹出一个 modal&#xff0c;有遮罩层而且在上面显示图片。 其实就是 el-dialog 的功能&#xff0c;但是 el-dialog 弹出后&#xff0c;有标签关闭按钮还有背景。 解决办法&#xff1a;el-dialog 的 width 设为 0 就可以了。 <template>…

Gartner《Decision Point for Selecting the Right APIMediation Technology》学习心得

一、API 中介技术概述 背景&#xff0c;API 中介技术变得多样化&#xff0c;应用与集成架构师需要借助决策框架&#xff0c;从企业级 API 网关、轻量级网关、入口网关以及服务网格中挑选出适合多粒度服务和 API 的中介技术。 随着无服务器架构与容器管理系统的兴起&#xff0…

快速 SystemC 之旅(一)

快速 SystemC 之旅&#xff08;一&#xff09; 一、前言背景二、实验环境1. 安装步骤2. 验证安装 三、RTL 级硬件描述1. 初看模块2. 二输入与非门 一、前言背景 因项目需求&#xff0c;近期开始开展电子系统级设计&#xff08;ESL&#xff09;进行事务级建模&#xff08;TLM&a…

解决 Golang 下载golang.org/x包失败方案

在 Golang 开发过程中&#xff0c;不少开发者都遇到过这样的困扰&#xff1a;当试图下载golang.org相关包时&#xff0c;会出现访问失败的情况&#xff0c;尤其是golang.org/x系列包&#xff0c;作为众多第三方库依赖的核心组件&#xff0c;其无法正常下载会严重影响项目的开发…

CppCon 2016 学习:BUILDING A MODERN C++ FORGE FOR COMPUTE AND GRAPHICS

你提供的这段文字是关于 设计一个精简但足够的 C 框架来驱动 Vulkan 的目标陈述&#xff0c;属于项目文档或演讲的第一部分 “Goals”。我们可以把它逐项拆解并深入理解&#xff1a; PART (I – I): GOALS&#xff08;目标&#xff09; 总体目标&#xff1a; 构建一个最小但足…

# AI武装大脑:技术管理者如何用人工智能重构认知与决策系统

作为一位经历了15年技术管理实战的老兵&#xff0c;我见过太多项目因为决策失误、认知局限而陷入泥潭。直到我开始系统性地用AI武装大脑&#xff0c;才真正找到了突破技术管理瓶颈的利器。今天&#xff0c;我要分享的不是那些泛泛而谈的AI概念&#xff0c;而是如何用AI真正提升…

【Linux】UDP与TCP协议

目录 UDP协议 1.1通信流程 1.2函数 socket bind sendto recvfrom close 1.3实现udp通信 TCP协议 1.1TCP头部结构 1.2通信流程 三次握手 正式通信 四次挥手 1.3协议特性 面向字节流 可靠传输 序列号和确认号 重传机制 流量控制和拥塞控制 1.4常用函数 s…

gbase8s之MyBatis批量update问题

源代码 <update id"updateDynamicTableData"><foreach collection"mapList" item"map" separator";">UPDATE ${tableName} SET<foreach collection"map" item"value" index"key" separ…

博图SCL中WHILE语句的使用详解及案例

在西门子TIA Portal的SCL&#xff08;结构化控制语言&#xff09;编程中&#xff0c;WHILE循环是处理条件迭代任务的核心工具。它根据布尔表达式动态控制循环执行&#xff0c;适用于不确定循环次数的场景。下面从语法、执行流程、注意事项到实际案例全面解析。 一、WHILE循环基…