在线预览excel,luckysheet在vue项目中的使用

一. 需求

需要在内网项目中在线预览excel文档,并可以下载

二.在项目中下载并引入luckysheet

1.打开项目根目录,npm i luckyexcel 安装

npm i luckyexcel

2.在项目的index.html文件中引入依赖

外网项目中的引入(CDN引入):在index.html里面的引入
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>数字化企业</title>
    <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
    <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/plugins.css' />
    <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/css/luckysheet.css' />
    <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/assets/iconfont/iconfont.css' />
    <script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>
  </head>
  <body>
    <div id="app"></div>
</html>
内网项目中的引入(本地引入)比较复杂:
1.下载luckyexcel的文件在本地:

地址:https://gitee.com/mengshukeji/Luckysheet.git

2.npm i 安装以来并 npm run build打包,打包之后生成的dist文件
npm run build

在这里插入图片描述

3.dist文件夹改名为luckyexcel并复制自己所用项目的public静态资源文件夹

在这里插入图片描述

4.在index.html文件里引入以下几个文件,

<%= BASE_URL %>表示根目录

<link rel='stylesheet' href='<%= BASE_URL %>luckyexcel/plugins/css/pluginsCss.css' />
    <link rel='stylesheet' href='<%= BASE_URL %>luckyexcel/plugins/plugins.css' />
    <link rel='stylesheet' href='<%= BASE_URL %>luckyexcel/css/luckysheet.css' />
    <link rel='stylesheet' href='<%= BASE_URL %>luckyexcel/assets/iconfont/iconfont.css' />
    <script src="<%= BASE_URL %>luckyexcel/plugins/js/plugin.js"></script>
    <script src="<%= BASE_URL %>luckyexcel/luckysheet.umd.js"></script>

然后就可以正常的使用和引入了

在项目中的使用

1.import引入luckyexcel

import LuckyExcel from 'luckyexcel'

2.设置容器的宽高

 <div id="luckysheet" ref="luckysheet" style="width:800px;height:600px;position: absolute;left: 3%;top: 8%;" ></div>

3.excel的渲染

注意:luckyexcel的数据必须是Blob格式


 viewOpen(data, fileName) {//渲染方法,data表示Blob数据。fileName指的名称
      if (!data) {
        this.$message.warning('无数据')
        return
      }
      LuckyExcel.transformExcelToLucky(data, function(exportJson, luckysheetfile) {
        if (exportJson.sheets == null || exportJson.sheets.length == 0) {
          alert('Failed to read the content of the excel file, currently does not support xls files!')
          return
        }
        window.luckysheet.destroy()
        console.log(window.luckysheet, exportJson, fileName, '存在')
        window.luckysheet.create({
          data: exportJson.sheets,
          title: fileName,
          userInfo: exportJson.info.creator,
          container: 'luckysheet', // 设定DOM容器的id
          showtoolbar: false, // 是否显示工具栏
          showinfobar: false, // 是否显示顶部信息栏
          showstatisticBar: true, // 是否显示底部计数栏
          sheetBottomConfig: false, // sheet页下方的添加行按钮和回到顶部按钮配置
          allowEdit: false, // 是否允许前台编辑
          enableAddRow: false, // 是否允许增加行
          enableAddCol: false, // 是否允许增加列
          sheetFormulaBar: false, // 是否显示公式栏
          enableAddBackTop: false, // 返回头部按钮
          showsheetbar: true, // 是否显示底部sheet页按钮
          // 自定义配置底部sheet页按钮
          showsheetbarConfig: {
            add: false,
            menu: false
          }
        })
      })
    },

在这里插入图片描述
这这样就可以正常显示了,如需表格编辑等操作可以参考文档
https://gitee.com/RMLY_double_wei/Luckysheet/blob/master/README-zh.md

其它问题(仅在自己项目中)

我的luckysheet是再写弹出框里面,第二次点击的时候可能会导致数据渲染不出来。所以就需要再关闭弹窗的时候把luckysheet销毁和移除。

 window.luckysheet.destroy()
this.$refs.luckysheet.remove()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157439.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈基于云计算的环境智能监控系统

随着经济的飞速发展&#xff0c;环境污染也越来越严重&#xff0c;环境监控成为了政府与社会关注的焦点。本文提出了一种基于云计算的环境智能监控系统——EasyCVR&#xff0c;该系统综合应用了传感器、云计算、大数据、人工智能等技术&#xff0c;具有实时、准确、高效的监控能…

servlet页面以及控制台输出中文乱码

如图&#xff1a; servlet首页面&#xff1a; servlet映射页面&#xff1a; 以及控制台输出打印信息&#xff1a; 以上页面均出现中文乱码 下面依次解决&#xff1a; 1、首页面中文乱码 检查你的html或者jsp页面中meta字符集 如图设置成utf-8 然后重启一下tomcat 2、servl…

面试资料快速复习 Git常用命令(简单实用)

Git-command Git常用命令、面试复习、简单实用命令 ​ 一、概念理解 &#xff08;一&#xff09;工作区、暂存区、本地仓库、远程仓库 workspace&#xff1a;工作区staging area&#xff1a;暂存区/缓存区local repository&#xff1a;本地仓库remote repository&#xff…

数据治理入门

处理模式 模式名称常见场景常见框架批处理夜间几个小时&#xff0c;无人值守hive spark datax流处理7*24H一直运行&#xff0c;无人值守maxwell, flink, flume, kafka即席处理人机交互接口访问 web页面 数据治理的意义 数据质量低&#xff1a;数据错误&#xff0c;不准确或不…

【Linux专题】firewalld 过滤出接口流量

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读428次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

AODNet

【20231117】读研期间没有对阅读的文章进行总结&#xff0c;没想到毕业反而有了机会。即日起会对阅读过的文章要点进行梳理记录&#xff0c;希望这一习惯能够坚持下去。 学术的角度&#xff1a;看论文要学习作者如何逻辑严谨的自证 落地的角度&#xff1a;只用看以下六点&#…

东南亚电商平台,如何有效防范欺诈商户入驻?

目录 柬埔寨居民频遭电商欺诈 平台如何防范欺诈商家入驻 柬埔寨电信监管机构最新公布的数据显示&#xff0c;截至2022年1月&#xff0c;柬埔寨移动电话用户数量已达到19,458,849人&#xff0c;互联网用户数量达到1,7591,396人。这一数据表明&#xff0c;柬埔寨的数字化趋势日…

解锁OpenAI潜力:OpenAI 全面解析与最佳实践

该项目是由OpenAI公司提供的一个大型代码库&#xff0c;其中包含了各类与OpenAI API相关的代码示例和最佳实践。 此项目名为OpenAI Cookbook&#xff0c;目的是为了帮助使用者更有效地利用OpenAI API&#xff0c;将其应用于自己的工作和生活中。具体来说&#xff0c;可以解决一…

【MySQL】表的约束——主键、外键、唯一键,三键区别知否?

表的约束 前言正式开始空属性默认值comment列描述zerofill主键增删主键复合主键 自增长唯一键外键主键作为外键约束唯一键作为外键约束 总结 前言 我在上一篇讲完了所有的数据类型&#xff0c;数据类型本身也是MySQL中的一种约束&#xff0c;如果你对于MySQL中的数据类型不太了…

Android并发编程与多线程

一、Android线程基础 1.线程和进程 一个进程最少一个线程&#xff0c;进程可以包含多个线程进程在执行过程中拥有独立的内存空间&#xff0c;而线程运行在进程内 2.线程的创建方式 new Thread&#xff1a; 缺点&#xff1a;缺乏统一管理&#xff0c;可能无限制创建线程&…

多维度梳理 MySQL 锁

多维度梳理 MySQL 锁 1、并发问题的解决方案2、MySQL的各类型锁2.1、从数据操作的类型划分 (读锁、写锁)2.2、从数据操作的粒度划分2.2.1、表锁2.2.1.1、表级别的S 锁、X 锁2.2.1.2、意向锁&#xff08;IS、IX&#xff09;2.2.1.3、自增锁2.2.1.4、元数据锁 2.2.2、行锁2.2.2.1…

JavaScript编程基础 – 函数进阶

JavaScript编程基础 – 函数进阶 JavaScript Programming Essentials – Perfect Functions “函数的第一条原则是要小&#xff0c;函数的第二条原则是要更小。“ – 罗伯特.C.马丁 前文讲述过函数多取决于数学的函数概念&#xff0c;以此来定义JavaScript编程语言的函数&…

致远OA wpsAssistServlet 任意文件上传漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、产品简介 致远OA互联新一代智慧型协同运营平台以中台的架构和技术…

保护信息,守护隐私|传音第三届信息及隐私安全文化宣传月顺利开展

2023 年10月16日到11月10日&#xff0c;传音成功举办第三届信息及隐私安全文化宣传月活动&#xff0c;开展了系列知识竞赛、安全专题论坛等线上线下活动&#xff0c;宣传普及网络安全风险防护知识和技能&#xff0c;提升员工信息安全意识&#xff0c;构筑全方位防线。活动反响热…

docker笔记14--docker-nerdctl-crictl-ctr使用对比

docker笔记14--docker-nerdctl-crictl-ctr使用对比 介绍工具对比dockernerdctlcrictlctr 注意事项说明 介绍 随着容器云技术的成熟&#xff0c;越来越多的从业者开始接触、熟悉 docker和containerd 了&#xff0c;很多时候需要同时在 docker 和 containerd之间切换&#xff0c…

珠宝饰品展示预约小程序的效果如何

金银珠宝翡翠行业几乎每个人都会接触&#xff0c;比如黄金小手饰&#xff0c;翡翠小挂件等&#xff0c;当然除了购买外&#xff0c;还有附加服务&#xff0c;如珠宝鉴定、定制等&#xff0c;同时这个行业具有较强的到店属性&#xff0c;除了价值较小的配件外&#xff0c;真金白…

运动耳机哪个牌子好?最适合运动健身的五款运动耳机分享

​随着人们生活水平的提高和健康意识的增强&#xff0c;越来越多的人开始关注运动和健身。而在运动的时候&#xff0c;佩戴耳机听音乐已经成为了很多人的选择。那么&#xff0c;什么样的运动耳机最适合我们呢&#xff1f;今天&#xff0c;我就来帮助大家挑选出最适合运动健身的…

echarts 折线图内容区域渐变、曲线平滑

实现echarts折线图内容区域渐变&#xff0c;需要在series中进行配置。areaStyle&#xff1a;区域填充样式。设置后显示成区域面积图。 示例代码&#xff1a; series: [{type: "line",name: this.legendData[0],color: "#E3FF34",symbolSize: 14,symbol: …

整理MLAI学习路径图

干货分享&#xff1a; 下面给出一个笔者自己整理的GitHub仓库&#xff1a;https://github.com/isLinXu/awesome-road-map&#xff0c;里面包含了一些可供参考的学习路径和思维导图&#xff0c;并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源…