当前位置: 首页 > news >正文

vue 前端预览 Excel 表

一、安装依赖包官网

npm i luckyexcel

template 模板

<!-- 用于渲染表格的容器 -->
<div id="luckysheet" style='width:100vw;height:100vh'></div>

二、加载

异步加载及
import LuckyExcel from 'luckyexcel';/* 下列代码加载 cdn 文件,你也可以在 public 文件夹在 html 中引入 */
// 封装加载 src 文件方法
function asynLoad(src, isCss = false) {return new Promise(res => {let el;if (isCss) {el = document.createElement('link');el.rel = 'stylesheet';el.href = src;} else {el = document.createElement('script');el.src = src;}document.documentElement.appendChild(el);el.onload = el.onreadystatechange = function() {if (!this.readyState ||this.readyState == 'loaded' ||this.readyState == 'complete') {res(true);}this.onload = this.onreadystatechange = null;};});
}/* Vue 中加载 cdn 文件 */
export default{created() {this.loadPlugins();},methods: {loadPlugins() {const baseURL = '//cdn.jsdelivr.net/npm/luckysheet@latest/dist';this.loading = true;this.tip = '正在加载依赖插件,请耐心等待...';Promise.all([asynLoad(`${baseURL}/plugins/css/pluginsCss.css`, true),asynLoad(`${baseURL}/plugins/plugins.css`, true),asynLoad(`${baseURL}/css/luckysheet.css`, true),asynLoad(`${baseURL}/assets/iconfont/iconfont.css`, true),asynLoad(`${baseURL}/plugins/js/plugin.js`),asynLoad(`${baseURL}/luckysheet.umd.js`)]).then(() => {luckysheet = (window as any).luckysheet;this.getOriginFile(); // 获取远端文件}).catch(res => {this.loading = false;this.errStatus = 1;this.errorTitle = '插件加载失败,请刷新后重试!';})}},
}

cdn 加载 index.html 文件

<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/plugins.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/css/luckysheet.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet/dist/assets/iconfont/iconfont.css' />
<script src="https://cdn.jsdelivr.net/npm/luckysheet/dist/plugins/js/plugin.js"></script>
<script src="https://cdn.jsdelivr.net/npm/luckysheet/dist/luckysheet.umd.js"></script>

三、页面使用

/* Vue 中加载 cdn 文件 */
export default{methods: {// 获取远程文件getOriginFile() {this.tip = '正在下载文件...';this.loading = trueaxios({url: this.fileURL,responseType: 'blob'}).then(({ data }) => {const blob = new Blob([data]);const file = new File([blob], this.fileName);this.init(file); // 开始渲染}).catch(e => {this.errorTitle = '文件解析失败,请下载后使用 Excel 打开或点击重试!'this.errStatus = 2;}).finally(() => {this.loading = false;})}// 渲染方法,接受文件对象,如果是本地文件直接传入文件即可init(file: File) {luckysheet.destroy(); // 先销毁当前容器LuckyExcel.transformExcelToLucky(file, exportJson => {if (exportJson.sheets === null || !exportJson.sheets.length) {this.$message.error('无法读取excel文件的内容,当前不支持xls文件!');return;}luckysheet.create({container: 'luckysheet',showinfobar: false,lang: 'zh',data: exportJson.sheets,title: exportJson.info.name,userInfo: exportJson.info.name.creator});});}},
}

相关文章:

vue 前端预览 Excel 表

一、安装依赖包官网 npm i luckyexceltemplate 模板 <!-- 用于渲染表格的容器 --> <div id"luckysheet" stylewidth:100vw;height:100vh></div>二、加载 异步加载及 import LuckyExcel from luckyexcel;/* 下列代码加载 cdn 文件&#xff0c;你…...

【JS】生成N位随机数

作用 用于邮箱验证码 码 ramNum.js /*** 生成N位随机数字* param {Number} l 默认&#xff1a;6&#xff0c;默认生成6位随机数字* returns 返回N位随机数字*/ const ramNum (l 6) > {let num for (let i 0; i < l; i) {const n Math.random()const str String(n…...

2024年FPGA可以进吗

2024年&#xff0c;IC设计FPGA行业仍有可能是一个极具吸引力和活力的行业&#xff0c;主要原因包括&#xff1a; 1. 技术发展趋势&#xff1a;随着5G、人工智能、物联网、自动驾驶、云计算等高新技术的快速发展和广泛应用&#xff0c;对集成电路尤其是高性能、低功耗、定制化芯…...

小程序图形:echarts-weixin 入门使用

去官网下载整个项目&#xff1a; https://github.com/ecomfe/echarts-for-weixin 拷贝ec-canvs文件夹到小程序里面 index.js里面的写法 import * as echarts from "../../components/ec-canvas/echarts" const app getApp(); function initChart(canvas, width, h…...

百度百科人物创建要求是什么?

百度百科作为我国最大的中文百科全书&#xff0c;其收录的人物词条要求严谨、客观、有权威性。那么&#xff0c;如何撰写一篇高质量的人物词条呢&#xff1f;本文伯乐网络传媒将从内容要求、注意事项以及创建流程与步骤三个方面进行详细介绍。 一、内容要求 1. 基本信息&#…...

练习2-线性回归迭代(李沐函数简要解析)

环境:再练习1中 视频链接:https://www.bilibili.com/video/BV1PX4y1g7KC/?spm_id_from333.999.0.0 代码与详解 数据库 numpy 数据处理处理 torch.utils 数据加载与数据 d2l 专门的库 nn 包含各种层与激活函数 import numpy as np import torch from torch.utils import da…...

人像背景分割SDK,智能图像处理

美摄科技人像背景分割SDK解决方案&#xff1a;引领企业步入智能图像处理新时代 随着科技的不断进步&#xff0c;图像处理技术已成为许多行业不可或缺的一部分。为了满足企业对于高质量、高效率人像背景分割的需求&#xff0c;美摄科技推出了一款领先的人像背景分割SDK&#xf…...

100M服务器能同时容纳多少人访问

100M服务器的并发容纳人数会受到多种因素的影响&#xff0c;这些因素包括单个用户的平均访问流量大小、每个用户的平均访问页面数、并发用户比例、服务器和网络的流量利用率以及服务器自身的处理能力。 点击以下任一云产品链接&#xff0c;跳转后登录&#xff0c;自动享有所有…...

Mysql 的高可用详解

Mysql 高可用 复制 复制是解决系统高可用的常见手段。其思路就是&#xff1a;不要把鸡蛋都放在一个篮子里。 复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上&#xff0c;备库本身也可以被配置成另外一台服务器的主库。主…...

Acwing枚举、模拟与排序(一)

连号区间数 原题链接&#xff1a;https://www.acwing.com/problem/content/1212/ 初始最小值和最大值的依据是题目给出的数据范围。只要在数据范围之外就可以。 连号的时候&#xff0c;相邻元素元素之间&#xff0c;差值为1。那么区间右边界和左边界&#xff0c;的值的差&#…...

MySQL的主从同步原理

MySQL的主从同步&#xff08;也称为复制&#xff09;是一种数据同步技术&#xff0c;用于将一个MySQL服务器&#xff08;主服务器&#xff09;上的数据和变更实时复制到另一个或多个MySQL服务器&#xff08;从服务器&#xff09;。这项技术支持数据备份、读写分离、故障恢复等多…...

naive-ui-admin 表格去掉工具栏toolbar

使用naive-ui-admin的时候&#xff0c;有时候不需要显示工具栏&#xff0c;工具栏太占地方了。 1.在src/components/Table/src/props.ts 里面添加属性 showToolbar 默认显示&#xff0c;在不需要的地方传false。也可以默认不显示 &#xff0c;这个根据需求来。 2.在src/compo…...

C++之结构体

结构体 //一、结构体的概念、定义和使用 // 概念&#xff1a;结构体属于用户自定义的数据类型&#xff0c;允许用户存储不同的数据类型 #include<iostream> using namespace std; #include<string> //1.创建学生数据类型&#xff1a;学生包括&#xff08;姓名&am…...

分布式ID选型对比(1)

常见的几种ID生成方式对比: 种类 全局唯一 高性能 高可用 趋势递增 中心服务 缺点 UUID 是 高(本地生成,(无网络开销) 低(无序,不适用) 否 否 无序、字符串 数据库自增 单表唯一 中 中(宕机就会使业务服务中断) 是 否 安全性差,能猜出来规律 对于分库分表场景无法唯一 数据库自…...

T-SQL 高阶语法之存储过程

一&#xff1a;存储过程概念 预先存储好的sql程序&#xff0c;通过名称和参数进行执行&#xff0c;供应程序去调用&#xff0c;也可以有返回结果&#xff0c;存储过程可以包含sql语句 可以包含流程控制、逻辑语句等。 二&#xff1a;存储过程的优点 执行速度更快 允许模块化…...

解决鸿蒙模拟器卡顿的问题

缘起 最近在学习鸿蒙的时候&#xff0c;发现模拟器非常卡&#xff0c;不要说体验到鸿蒙的丝滑&#xff0c;甚至到严重影响使用的程度。 根据我开发Android的经验和在论坛翻了一圈&#xff0c;最终总结出了以下几个方案。 创建模拟器 1、在DevEco Virtual Device Configurat…...

【LeetCode每日一题】【BFS模版与例题】863.二叉树中所有距离为 K 的结点

BFS的基本概念 BFS 是广度优先搜索&#xff08;Breadth-First Search&#xff09;的缩写&#xff0c;是一种图遍历算法。它从给定的起始节点开始&#xff0c;逐层遍历图中的节点&#xff0c;直到遍历到目标节点或者遍历完所有可达节点。 BFS 算法的核心思想是先访问当前节点的…...

设计模式-结构模式-装饰模式

装饰模式&#xff08;Decorator Pattern&#xff09;&#xff1a;动态地给一个对象增加一些额外的职责&#xff0c;就增加对象功能来说&#xff0c;装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 //首先&#xff0c;定义一个组件接口&#xff1a; public in…...

MySQL:一行记录如何

1、表空间文件结构 表空间由段「segment」、区「extent」、页「page」、行「row」组成&#xff0c;InnoDB存储引擎的逻辑存储结构大致如下图&#xff1a; 行 数据库表中的记录都是按「行」进行存放的&#xff0c;每行记录根据不同的行格式&#xff0c;有不同的存储结构。 页…...

‘grafana.ini‘ is read only ‘defaults.ini‘ is read only

docker安装grafana 关闭匿名登录情况下的免密登录遇到问题 grafana.ini is read only defaults.ini is read only 参考回答&#xff08;Grafana.ini giving me the creeps - #2 by bartweemaels - Configuration - Grafana Labs Community Forums&#xff09; 正确启动脚本 …...

OpenClaw Memory 记忆系统完全指南:文件结构、Heartbeat机制与调教实践

关键词&#xff1a;OpenClaw Memory、AI Agent记忆、本地记忆存储、Heartbeat心跳、USER.md调教一、问题背景&#xff1a;为什么 AI Agent 需要独立的记忆系统 大模型的上下文窗口有限——即使是 200K tokens 的 Claude&#xff0c;关闭窗口后也完全忘记之前的对话。要让 AI Ag…...

ORA-06521: PL/SQL映射函数错误,权威解析Oracle报错故障修复与远程处理方案

故障修复核心方案&#xff1a;首先检查PL/SQL代码中的映射函数调用&#xff0c;确保参数类型匹配&#xff0c;避免类型转换错误。执行以下SQL诊断&#xff1a;SELECT * FROM user_errors WHERE name 你的包名; 清理后重编译&#xff1a;ALTER PACKAGE your_package COMPILE; 如…...

FreeRTOS在ARM Cortex-M上的移植原理与工程实践

1. FreeRTOS_ARM项目概述 FreeRTOS_ARM并非一个独立的第三方开源项目&#xff0c;而是指FreeRTOS实时操作系统在ARM架构微控制器上的官方适配与工程实践体系。FreeRTOS本身是一个轻量级、可裁剪、开源&#xff08;MIT License&#xff09;的实时内核&#xff0c;其核心设计目标…...

基于AI大模型的电动三轮车短视频生成与售后智能体系统——架构设计与代码实现

基于AI大模型的电动三轮车短视频生成与售后智能体系统——架构设计与代码实现 摘要 随着短视频营销和智能客服在企业数字化运营中的重要性日益凸显,基于AI大模型的智能体系统为企业提供了高效的自动化解决方案。本文设计并实现了两大智能体系统:电动三轮车短视频生成智能体…...

[Linux][虚拟串口]x一个特殊的字节毒

简介 langchain专门用于构建LLM大语言模型&#xff0c;其中提供了大量的prompt模板&#xff0c;和组件&#xff0c;通过chain(链)的方式将流程连接起来&#xff0c;操作简单&#xff0c;开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...

Golang 任务调度与优先级队列实战:从能跑到生产可用

Golang 任务调度与优先级队列实战:从能跑到生产可用 关键词:Golang、任务调度、优先级队列、Worker Pool、延迟任务、重试退避、优先级老化、高并发、可观测性、分布式演进 很多团队第一次做“任务调度系统”时,往往只做到了“能把任务跑起来”。上线后才发现,真正难的不是…...

BCI竞赛实战:从BCI competition IV 2b数据集的批量加载到PyTorch数据管道构建

1. BCI竞赛与数据集背景 脑机接口&#xff08;BCI&#xff09;竞赛是推动脑电信号处理技术发展的重要平台&#xff0c;其中BCI Competition IV 2b数据集因其规范的采集流程和明确的运动想象任务设计&#xff0c;成为入门级研究的理想选择。这个数据集包含9名受试者的左右手运动…...

LangGraph实战:用通义千问Qwen-Turbo打造一个能查工行保险的Agent(附完整代码)

LangGraph实战&#xff1a;用通义千问Qwen-Turbo构建银行保险查询Agent全流程指南 在金融科技快速发展的今天&#xff0c;AI Agent技术正在重塑银行保险服务的交互方式。想象一下&#xff0c;当客户需要查询特定保险产品时&#xff0c;不再需要翻阅冗长的文档或等待人工客服&am…...

基于分布式ADMM算法与碳排放交易的最优潮流调度研究:MATLAB与CPLEX GUROBI仿真实现

MATLAB代码&#xff1a;基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究 关键词&#xff1a;分布式调度 ADMM算法 交替方向乘子法 碳排放 最优潮流 仿真平台&#xff1a;MATLABCPLEX/GUROBI平台 主要内容&#xff1a;代码主要做的是一个考虑碳排放交易的最优潮流问…...

想知道如何清理Ubuntu系统,以释放磁盘空间

磁盘占用到了75%&#xff0c;是时候做个大扫除了。别担心&#xff0c;这个占用率虽然不算紧急&#xff0c;但已经是很好的清理时机了。 我为你整理了一份从最安全快速到更彻底的清理步骤指南&#xff0c;你可以按顺序一步步操作&#xff0c;效果会很明显。 &#x1f4a1; 清理第…...