Luckysheet:一个纯前端的excel在线表格

这篇具有很好参考价值的文章主要介绍了Luckysheet:一个纯前端的excel在线表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近因为项目要求,需要在页面上添加一个在线编辑excel的功能,因此只能在网上找有没有直接用的插件,最后很幸运的是幸好找到了一个 ----luckysheet.

      这个是从luckysheet官网上找的图片,先看下能用插件做那些效果。

  

lucksheeet文档,vue.js,javascript,前端

  这个是中文官网地址:Luckysheet文档

  这个是vue3项目的github地址:GitHub - dream-num/luckysheet-vue: luckysheet vue demo

  官方文档很详细,具体使用很简单,差不多跟Echarts 一样,配置数据结构,然后插件初始化即可。

  接下来介绍下这个插件的使用方法:

 使用步骤

  先说下我当前的开发环境:"vue": "^3.2.37",luckysheet:2.2.12

  1.依赖引入

    官方推荐了2种方法:1.使用CDN的方式引入在jsdelivr公共库的文件,2.把文件下载到本地,然后本地引入。

    本人推荐本地引入较好,一个是可以在离线环境下正常使用,另一个是在开发时期,突然发现插件不能使用,最后定位到jsdelivr公共库加载超时,还是保险本地引入较好。

lucksheeet文档,vue.js,javascript,前端

    对应的css样式文件和js文件最好在最外层的index.html引入。

        2. 指定表格容器

    指定一个带有id的容器,可以封装成组件调用

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

    然后根据文档添加配置项,最后初始化表格即可。

    

lucksheeet文档,vue.js,javascript,前端

    整个结构跟配置echarts一样,需要什么功能或者什么样式,直接在 options 进行配置即可。接下来讲下常用的几个配置属性。

 功能配置

  配置项根据范围分为两种:1.表格插件的公共配置项 。2.单个sheet表单的配置项。大概结构如下。

const options = { // 公共配置项
    container: 'luckysheet1', // luckysheet为容器id
    lang: 'zh', // 设定表格语言
    title:'', // 设定表格名称
    forceCalculation:true,
    index:'0',
    status:'1',
    order:'0',
    hide:'0',
    column:30, // 列数
    row:50, // 行数
    showtoolbar:true, // 工具栏
    showinfobar:false, // 信息栏
    showsheetbar:false, // 底部sheet页
    sheetFormulaBar:false, // 是否显示公式栏
    showsheetbarConfig:{},// 自定义底部sheet页
    sheetRightClickConfig:{},//自定义底部sheet页右击菜单 
    showtoolbarConfig:{}, // 自定义配置工具栏
    cellRightClickConfig:{}, // 右键配置
    data:[  // 表格sheet的个数和配置项
        {
            "name":"Sheet1",
            "defaultRowHeight":25
        },
        {
            "name":"Sheet2",
            "defaultRowHeight":25
        },
        
    ]
}
// 初始化表格
luckysheet.create(options)

  有关公共配置项和单个sheet的配置项、官方文档写的很详细,使用上很简单,就不再这太详细的介绍了。

  表格数据的保存和初始化

  先介绍下luckysheet插件的数据是怎么使用的。

      当插件初始化后,我们在表格内随意填入几个数字。

lucksheeet文档,vue.js,javascript,前端

  然后在控制台内使用官方提供的方法看下插件里的数据。

lucksheeet文档,vue.js,javascript,前端

  重点数据都在标出来的两个数组,其他大部分都是描述表格的基本配置。

  接下来打开这两个数组,看下里面的数据。

lucksheeet文档,vue.js,javascript,前端

  对比一开始在表格内填写的数字和位置,很明显的看出 celldata 里存的是已经填写的单元格信息,包含每个单元格所在的行(r),列(c),以及填写的数据(v:m).

  而data里面则是用二维数组的方式记录已经使用的单元格信息,里面单元格数据跟 celldata 的类似。

  这就很明显了,如果想要在表格内初始化加载数据,或者是把数据保存到后台,只要处理数据即可。

  (注:如果有加自定义表格样式或者自定义插件配置,最好的方法是把通过 luckysheet.getAllSheets() 获取到的数据全部进行存储。然后通过optins.data 完成单个表格数据的初始化)

  另外有空的话,在扩展一个基于websocket实现的共同编辑文档,期待下一个文章吧。

 出现的问题

  在做表格数据的存储时,发现一个问题,如果在表格内输入完最后一个数字,在最后一个单元格在选中编辑的状态下,是无法通过luckysheet.getAllsheet()获取到这个单元格数据的,因此在上传数据之前,需要另外加一条命令。

luckysheet.exitEditMode(); // 退出编辑模式

  退出编辑模式,接下来就能获取到全部数据了。

  2023/8/16 追加:

  突然想到还有一个遇到的问题:就是表格里面的数据是可以自定义添加的,只要计算好要放在那个位置,计算好行(r),列(c).然后分别添加到 data 和 celldata(注意存放到二维数组的位置) 里面即可。该功能可以做导出数据到表格内部的功能。

  但是如果你添加的数据行/列数超过设置默认行/列数,就会数据导出到表格内失败,data 数组里面没太大关系,主要是 celldata 二维数组,要自己手动添加到符合长度的行/列数。或者直接在配置里面更改行/列数。文章来源地址https://www.toymoban.com/news/detail-780482.html

到了这里,关于Luckysheet:一个纯前端的excel在线表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • luckysheet+luckyexcel在线预览excel

    luckysheet,是一款纯前端的在线excel,功能强大,完全开源 如果在线预览excel的需求,可以使用xlsx插件,但是这个插件只能解析表格中的数据,如果表格中的样式和数据都要解析出来,就需要luckysheet+luckyexcel方案,下面整理一下,vue项目中怎么使用 1.luckysheet需要手动引入相关

    2024年02月11日
    浏览(50)
  • 【开源组件】- 表格处理 - Luckysheet

    😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 @怒放吧德德 🌝分享学习心得,欢迎指正,大家一起学习成长! Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 官网:h

    2024年02月07日
    浏览(50)
  • word文档批量生成工具(附免费软件)(按Excel表格内容自动替换内容生成文档)

    批量生成word文档是让人无比厌恶但有时又不得不做的事情。比如学校要给拟录取的学生发通知书,就可能需要批量生成一批只有“姓名”、“学院”和“专业”不同,其他内容都相同的word文档以供打印(事实上直接生成pdf是更好的选择,这个以后有心情可以弄一下)。 要实

    2024年02月11日
    浏览(51)
  • Java 将数据导出到Excel并发送到在线文档

    现将列表数据,导出到excel,并将文件发送到在线文档,摒弃了以往的直接在前端下载的老旧模式。 注意:本地测试需要先注释掉这段代码 try { org.apache.commons.io.FileUtils.forceDelete(new File(filePath)); } catch (IOException e) { System.out.println(“删除文件异常” + e); } 这里用到了异步操作,需

    2024年02月08日
    浏览(36)
  • python爬取腾讯在线文档存excel+mysql

    进入到腾讯文档首页,按F12调出开发者工具,选择要爬取的在线文档。 过滤掉一些静态文件加载的请求,我们只看ajax请求。 将file_url粘贴到浏览器地址栏中访问,发现直接将要爬取的url下载到了本地,所以这个file_url很有用。 这个file_url是我们通过对https://docs.qq.com/v1/export

    2024年01月20日
    浏览(34)
  • Python从一个Excel表格提取数据填到另一个表格

    本文,用Python从一个Excel表格提取数据填到另一个表格,详情代码中注释都说明了,请亲们详细查阅:

    2024年02月12日
    浏览(45)
  • 前端vue自定义table 表格 表格组件 Excel组件

    前端组件化开发与Excel组件设计 一、前端开发的复杂性与组件化的必要性 随着技术的发展,前端开发的复杂度越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。

    2024年02月09日
    浏览(56)
  • Vue前端表格导出Excel文件

    分享一个Vue前端导出Excel文件的方法。记录学习! 功能需求 :将表格的全部数据导出Excel格式的文件 前端 :Vue3+Element-Plus 这个导出方法全部为前端操作,后端只需要传入表格数据到前端即可(基础的多表查询,用的内连接) 2.1 核心方法 将这个导出方法单独封装出来,带一

    2023年04月24日
    浏览(91)
  • 【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格

            如何将EXCEL的多个表格合并成一个表格呢?比如每月销售额是一个单独的表格,我想把它们合并成一个表格,今天就与大家分享如何利用Python数据分析3分钟搞定,不管你要合并多少个文件,代码总是那么几行。不多说了,上案例。          现在有3个月的销售额,需

    2023年04月24日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包