shayloyuki

科技是第一生产力

 

luckysheet 的安装

前言

最近有需求,把 el-tablevxe-table 替换为 luckysheet。据说这个可以实现和 excel 的互相复制粘贴,便于用户操作。

官方文档中 Luckysheet 安装 有两种方式:

  1. cdn 引入:有可能不是最新的,需要指定版本号。
  2. 本地引入。

居然没有 npm 安装,也是很奇特。

因此,我采取了本地引入的方式。

下载 zip 包

luckysheet在gitee的地址 下载 zip 包,如下图所示:

image

下载依赖包并打包

zip 下载完毕后,用 vscode 打开,打开终端,输入 npm i 下载依赖包;

包下载完毕后,输入 npm run build 打包;

复制粘贴

打包完毕后,根目录会出现 dist 文件夹。把 dist 中除了 index.html 外的全部文件,复制到目标项目的 public 文件夹中;

并在目标项目的 index.html 中粘贴以下内容:

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

image

注意:官网推荐的用相对路径引入,但是刷新后会报错。因此推荐用上面的绝对路径引入。

image

验证

在目标项目新建一个 vue 页面,粘贴以下内容进行测试:

 <template>
   <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>
 </template>

 <script>
     export default {
         name: 'HelloWorld',
         data(){
             return {}
         },
         mounted() {
             this.init()
         },
         methods:{
             init() {
               var options = {
                 container: 'luckysheet' //luckysheet为容器id
               }
               luckysheet.create(options)
             }
         }
     }
 </script>

打开终端,输入 npm run dev 运行项目,可看到页面显示如下,且控制台不报错,就说明安装 luckysheet 成功了。

image

index.html 中粘贴代码,有以下几点需要注意:

  1. (推荐)使用绝对路径引入。
    image

  2. 若使用相对路径引入,粘贴代码的位置要在 title 之前,否则封装 LuckySheet 组件后,控制台报错如下:(原因不明,有知道的小伙伴评论区告诉我一下)。但即使粘贴位置在 title 之前,页面刷新后,还是会发生如下报错。
    image
    image

参考链接

  1. luckysheet(1): 在线 excel 介绍及使用
  2. Luckysheet 在vue中离线使用方法以及引入报错解决方案
  3. VUE使用Luckysheet Luckysheet本地导入时报错‘luckysheet‘ is not defined【已解决】,页面刷新‘luckysheet‘ 丢失

posted on 2023-11-21 10:00  shayloyuki  阅读(963)  评论(0编辑  收藏  举报

导航