Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >再见Excel!最强国产开源在线表格Luckysheet走红GitHub

再见Excel!最强国产开源在线表格Luckysheet走红GitHub

作者头像
王小婷
修改于 2020-10-23 02:19:12
修改于 2020-10-23 02:19:12
2.2K00
代码可运行
举报
文章被收录于专栏:编程微刊编程微刊
运行总次数:0
代码可运行

开源最前线(ID:OpenSourceTop) 猿妹整编 项目地址:https://github.com/mengshukeji/Luckysheet

目前比较流行的办公应用主要有Excel、WPS、石墨文档等等,今天,猿妹要和大家推荐一款功能强大、配置简单、完全开源的用纯JavaScript编写的前端表格库,对它的评价只有【用它!】

Luckysheet具备了大部分Excel中的常用功能,比如文字与单元格的样式调整与公式的使用等。除此之外还提供了独有的复制时转换格式(比如 json 等)以及其他格式的数据导入导出等,可以说Excel具备的常用功能它也都有了。

此外,因为Luckysheet采用纯JavaScript编写,因此它可以嵌入到任何前端项目或应用程序中,便于实现集成和自动化。不过在图表方面现在只支持了常用的ECharts,其他图表框架需要等待以后陆续支持。

目前,Luckysheet已经在GitHub上标星3.9K,累计分支292(GitHub地址:https://github.com/mengshukeji/Luckysheet/blob/master/README-zh.md

整体架构

首先我们一起来看看Luckysheet的格式,一个完整的Luckysheet表格文件的数据格式为:luckysheetfile,一个表格文件包含若干个sheet文件,对应excel的sheet0、sheet1等。

一个Luckysheet文件的示例如下,该表格包含3个sheet:luckysheetfile = [ {sheet1设置}, {sheet2设置}, {sheet3设置} ] 相当于excel的3个sheet

文件中的一个sheet的数据luckysheetfile[0]的结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "name": "Cell", //工作表名称
    "color": "", //工作表颜色
    "index": "0", //工作表索引
    "status": "1", //激活状态
    "order": "0", //工作表的顺序
    "hide": 0,//是否隐藏
    "row": 36, //行数
    "column": 18, //列数
    "config": {
        "merge":{}, //合并单元格
        "rowlen":{}, //表格行高
        "columnlen":{}, //表格列宽
        "rowhidden":{}, //隐藏行
        "colhidden":{}, //隐藏列
        "borderInfo":{}, //边框
    },
    "celldata": [], //初始化使用的单元格数据
    "data": [], //更新和存储使用的单元格数据
    "scrollLeft": 0, //左右滚动条位置
    "scrollTop": 315, //上下滚动条位置
    "luckysheet_select_save": [], //选中的区域
    "luckysheet_conditionformat_save": {},//条件格式
    "calcChain": [],//公式链
    "isPivotTable":false,//是否数据透视表
    "pivotTable":{},//数据透视表设置
    "filter_select": {},//筛选范围
    "filter": null,//筛选配置
    "luckysheet_alternateformat_save": [], //交替颜色
    "luckysheet_alternateformat_save_modelCustom": [], //自定义交替颜色    
    "freezen": {}, //冻结行列
    "chart": [], //图表配置
    "visibledatarow": [], //所有行的位置
    "visibledatacolumn": [], //所有列的位置
    "ch_width": 2322, //工作表区域的宽度
    "rh_height": 949, //工作表区域的高度
    "load": "1", //已加载过此sheet的标识
}

在chrome的console中查看 luckysheet.getluckysheetfile() 可以看到完整设置 [{shee1}, {sheet2}, {sheet3}]

使用方法

第一步,引入依赖,有2种方式:

CDN

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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' />
<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>

注意,https://cdn.jsdelivr.net/npm/luckysheet/dist/luckysheet.umd.js这个路径会拉取到最新的luckysheet代码,想要指定luckysheet版本,请在luckysheet后面加上版本号,如:https://cdn.jsdelivr.net/npm/luckysheet@2.0.0/dist/luckysheet.umd.js

如果不方便访问 jsdelivr.net,还可以采用本地方式引入

本地引入

npm run build后dist文件夹下的所有文件复制到项目目录,然后通过相对路径引入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<link rel='stylesheet' href='./plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='./plugins/plugins.css' />
<link rel='stylesheet' href='./css/luckysheet.css' />
<script src="./plugins/js/plugin.js"></script>
<script src="./luckysheet.umd.js"></script>

第二步,指定一个表格容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height:100%;left: 0px;top: 0px;"></div>

第三步,创建表格

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
    $(function () {
        //配置项
        var options = {
            container: 'luckysheet' //luckysheet为容器id
        }
        luckysheet.create(options)
    })
</script>

其实LuckysheetDocs的使用方式和Excel差别并不大,就连快捷键也是一样的:

最后附上在线DEMO体验:

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实用!Excel在线网页版表格Luckysheet源码
前端小伙伴们,随着前端页面的日益强大 起来,不知道你是不是还在为开发一款在线版的Excel,在线ppt等发愁,因为这并不是一件很容易的事情,恰好有遇到这种业务需求的时候,那就来看一下这一个特别适用的在线网页版表格Luckysheet源码吧。
王小婷
2020/10/30
4.2K0
实用!Excel在线网页版表格Luckysheet源码
在浏览器中操作 Excel,这款完全开源的在线表格推荐给你!
Excel 作为办公软件中使用最频繁的产品之一,是我们办公活动中必不可缺的一环。如果我们的系统中能够集成 Excel,相比会是我们一大亮点。
永恒君
2022/12/07
4.7K0
在浏览器中操作 Excel,这款完全开源的在线表格推荐给你!
最强国产开源电子表格-Luckysheet,强势登顶Github trending第一名!
现在web技术蓬勃发展,办公应用特别是excel都搬到了线上,比较流行的有腾讯文档,金山文档,石墨文档,google doc,属于企业服务。但是小型企业或者团队,如果想自己搭建一套在线表格系统呢?有没有开源的方案?
前端开发博客
2020/11/05
3.2K0
最强国产开源电子表格-Luckysheet,强势登顶Github trending第一名!
使用 Luckysheet 可实现 Web 的 Excel
工作中会遇到excel的导入和导出,换个角度看,假如有个 web 版本的excel ,且能上传现有的,修改编辑后再下载也是个不错的方案。 Luckysheet 是实现 web版Excel的一个优秀的框架。
张云飞Vir
2023/05/01
2K1
使用 Luckysheet 可实现 Web 的 Excel
基于luckysheet实现在线电子表格和Excel在线预览
本文基于luckysheet实现在线的电子表格,并基于luckyexcel实现excel文件的导入和在线预览。
牛老师讲GIS
2024/12/30
7920
基于luckysheet实现在线电子表格和Excel在线预览
Bootstrap
Bootstrap是一个用于快速开发Web应用程序和网站的前端框架。 Bootstrap支持响应式布局!响应式布局指的是一个网站能够兼容多种终端设备访问!. 终端设备:..电脑、平板电脑、手机
eadela
2019/09/29
6.9K0
Bootstrap
docsify快速入门
根据官方说法,docsify是一个神奇的文档网站生成工具,也可以把它当做一个简易版的静态站点诸如Hexo、Hugo等。当然,它是专门针对文档的,忽然想到了程序员深恶痛绝的就是写API文档……
雨临Lewis
2022/01/12
9890
Java注册登录及邮箱发送账号激活(主要技术栈SpringBoot,MyBatis)
这里我们直接使用 Spring Initializr 初始化 Spring Boot 项目
秋名山码神
2022/12/20
1.7K0
Java注册登录及邮箱发送账号激活(主要技术栈SpringBoot,MyBatis)
【Bootstrap】001-Bootstrap入门
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷;
訾博ZiBo
2025/01/06
2320
【Bootstrap】001-Bootstrap入门
Bootstrap入门
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。 [1] 国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
Qwe7
2022/06/01
5120
高质量编码-在线Excel经纬度坐标系转换(前端开发)
前端html和js代码如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/cs
MiaoGIS
2021/07/15
7200
高质量编码-在线Excel经纬度坐标系转换(前端开发)
基于docsify的基本操作&配置
​ 多级目录构建navbar、sidebar引用404问题:在构建多级文件目录的时候,针对多级文件夹下的md文件,其会相应加载同级目录下的navbar.md、sidebar.md文件,但这个时候由于navbar.md、sidebar.md文件存放在根目录或者是自定义指定的文件夹下,引用相对路径则会报404问题。针对上述情况,可以有如下调整方案:
hahah
2022/08/30
3K0
Markdown 拓展-Docsify 构建接口文档
优点:使用 markdown 编写,docsify 作为支撑。快速高效,若搭载搜索功能,功能较为完善。且可部署在内网环境。
acc8226
2022/05/17
5200
Markdown 拓展-Docsify 构建接口文档
Docsify 动态生成文档网站
docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。
acc8226
2022/05/17
1.1K0
Docsify 动态生成文档网站
居然可以用 js 写 PPT?
用powerpoint或者keynote写演示文稿,对于代码、数学公式等的支持一直是个痛点。而且对于前端同学来说,一身的css功力用不上也是个痛点。对于使用markdown来写文档的同学来说,将文档转成ppt需要重新排版也是件重复性的工作量。
winty
2021/08/24
9.8K0
居然可以用 js 写 PPT?
号称世界上最流行的灯箱脚本!这款"花盒"为什么与众不同?
此外,Fancybox 很容易集成到任何 JavaScript 框架中。详情可以参见官方文档中关于 React、Vue 和 Angular 的示例。
程序员老鱼
2024/06/07
2620
号称世界上最流行的灯箱脚本!这款"花盒"为什么与众不同?
家乡主题网页设计代码 旅游主题网页设计 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠标滑过效果等,使用表格、表单补充模块,为方便新手学习页面中没有使用js有需要的可以自行添加。 <font color='#b44846' size='4px'> ❤</font> 【作者主页——🔥获取更多优质
IT司马青衫
2022/08/18
6K0
家乡主题网页设计代码 旅游主题网页设计 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
Aplayer+Metingjs音乐插件的使用
Aplayer是一个功能强大的HTML5音乐播放器,Metingjs基于Aplayer插件封装好的插件,开箱即用。
用户7162790
2022/03/23
1K0
添加嘉然live2d作为博客看板娘并本地化
效果:https://www.bilibili.com/video/av375230316
MashiroT
2022/10/28
8200
vue双向绑定数组和对象有什么区别_后端接收前端json数据
众所周知,vue中v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源。
全栈程序员站长
2022/10/05
1.3K0
vue双向绑定数组和对象有什么区别_后端接收前端json数据
推荐阅读
相关推荐
实用!Excel在线网页版表格Luckysheet源码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验