免费的前端在线excle开源框架-luckysheet 配合java后台使用

33 篇文章 1 订阅
8 篇文章 0 订阅

公司内部项目要做一个在线的excle,通过在线excle遍历公司数据,在excle修改数据之后同步到数据库,从网上找了很多方法,推荐给大家一个免费的在线excle编辑框架-luckysheet
优点:免费,白嫖的永远是最香的,功能强大,接近实际的excle
缺点:官方api不太全,好多东西都得自己摸索,有时候需要更改一些js代码。
官方api
https://mengshukeji.github.io/LuckysheetDocs/zh/guide/api.html#%E5%8D%95%E5%85%83%E6%A0%BC%E6%93%8D%E4%BD%9C
引入相关js,可以用下载到本地也可以用在线的
在这里插入图片描述

创建表格:
创建静态表格js代码如下(相关参数可以从api中查看)

const options = {
    container: 'luckysheet',
    lang: 'zh', // 设定表格语言
    title: '需求项目报价单',
    data: [
        {
            //工作表名称
            "name": "项目需求报价单",
            //工作表颜色
            "color": "",
            "config": {
                // 合并单元格
                "merge": {
                    // 公司名
                    "0_0": {
                        "rs": 1,
                        "cs": 10,
                        "r": 0,
                        "c": 0
                    },
                    // 大标题
                    "1_0": {
                        "rs": 1,
                        "cs": 10,
                        "r": 1,
                        "c": 0
                    },
                    // 公司行
                    "2_1": {
                        "rs": 1,
                        "cs": 4,
                        "r": 2,
                        "c": 1
                    },
                    "2_6": {
                        "rs": 1,
                        "cs": 4,
                        "r": 2,
                        "c": 6
                    },
                    // 联系人
                    "3_1": {
                        "rs": 1,
                        "cs": 4,
                        "r": 3,
                        "c": 1
                    },
                    "3_6": {
                        "rs": 1,
                        "cs": 4,
                        "r": 3,
                        "c": 6
                    },
                    // 电话
                    "4_1": {
                        "rs": 1,
                        "cs": 4,
                        "r": 4,
                        "c": 1
                    },
                    "4_6": {
                        "rs": 1,
                        "cs": 4,
                        "r": 4,
                        "c": 6
                    },
                    // 地址
                    "5_1": {
                        "rs": 1,
                        "cs": 4,
                        "r": 5,
                        "c": 1
                    },
                    "5_6": {
                        "rs": 1,
                        "cs": 4,
                        "r": 5,
                        "c": 6
                    },
                    // 特殊备注
                    "11_1": {
                        "rs": 1,
                        "cs": 9,
                        "r": 11,
                        "c": 1
                    },
                    // 发货及运输
                    "12_1": {
                        "rs": 1,
                        "cs": 9,
                        "r": 12,
                        "c": 1
                    },
                    // 售后服务
                    "13_0": {
                        "rs": 2,
                        "cs": 1,
                        "r": 13,
                        "c": 0
                    },
                    "13_1": {
                        "rs": 1,
                        "cs": 9,
                        "r": 13,
                        "c": 1
                    },
                    "14_1": {
                        "rs": 1,
                        "cs": 9,
                        "r": 14,
                        "c": 1
                    },
                },
                // //表格行高
                // "rowlen": {
                //     "0": 26,
                //     "1": 24,
                // }
            },
            // 工作表索引
            "index": "0",
            "chart": [
                {
                    "sheetIndex": "0",
                    "dataSheetIndex": "0",
                    "chartType": "column",
                    "row": "[1,3]",
                    "column": "[3,3]",
                    "chartStyle": "default",
                    "myWidth": "480",
                    "myHeight": "288",
                    "myLeft": "67",
                    "myTop": "11"
                }
            ],
            //激活状态
            "status": "1",
            //工作表的顺序
            "order": "0",
            //列数
            "column": 10,
            // 行数
            "row": 8,
            "celldata": [{
                "r": 0,
                "c": 0,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "***有限公司",
                    "m": "***有限公司",
                    "mc": {"r": 0, "c": 0, "rs": 1, "cs": 10},
                    "ht": "0",
                    "vt": "0",
                    "bl": 1,
                    "fs": 14
                }
            }, {
                "r": 1,
                "c": 0,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "***项目报价单",
                    "m": "***报价单",
                    "mc": {"r": 1, "c": 0, "rs": 1, "cs": 10},
                    "ht": "0",
                    "vt": "0",
                    "bl": 1,
                    "fs": 12
                }
            }, {
                "r": 2,
                "c": 0,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "甲方公司",
                    "m": "甲方公司",
                    "ht": "0",
                    "vt": "0",
                },
            }, {
                "r": 2,
                "c": 1,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "",
                    "m": "",
                    "mc": {"r": 2, "c": 1, "rs": 1, "cs": 4},
                    "ht": "0",
                    "vt": "0",
                },
            }, {
                "r": 2,
                "c": 5,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "供应商",
                    "m": "供应商",
                    "ht": "0",
                    "vt": "0",
                },
            }, {
                "r": 2,
                "c": 6,
                "v": {
                    "ct": {"fa": "General", "t": "g"},
                    "v": "***有限公司",
                    "m": "***有限公司",
                    "mc": {"r": 2, "c": 6, "rs": 1, "cs": 4},
                    "ht": "0",
                    "vt": "0",
                },
            },
                {
                    "r": 3,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "联系人",
                        "m": "联系人",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 3,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "",
                        "m": "",
                        "mc": {"r": 3, "c": 1, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 3,
                    "c": 5,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "业务负责",
                        "m": "业务负责",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 3,
                    "c": 6,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": parent.userData.user.realName,
                        "m": parent.userData.user.realName,
                        "mc": {"r": 3, "c": 6, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                },
                {
                    "r": 4,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "电话",
                        "m": "电话",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 4,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "",
                        "m": "",
                        "mc": {"r": 4, "c": 1, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 4,
                    "c": 5,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "电话",
                        "m": "电话",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 4,
                    "c": 6,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": parent.userData.user.tel,
                        "m": parent.userData.user.tel,
                        "mc": {"r": 4, "c": 6, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                },
                {
                    "r": 5,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "地址",
                        "m": "地址",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 5,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "",
                        "m": "",
                        "mc": {"r": 5, "c": 1, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 5,
                    "c": 5,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "地址",
                        "m": "地址",
                        "ht": "0",
                        "vt": "0",
                    },
                }, {
                    "r": 5,
                    "c": 6,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "山东省",
                        "m": "山东省",
                        "mc": {"r": 5, "c": 6, "rs": 1, "cs": 4},
                        "ht": "0",
                        "vt": "0",
                    },
                },
                {
                    "r": 7,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "产品ID",
                        "m": "产品ID",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "产品名称",
                        "m": "产品名称",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 2,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "产品型号",
                        "m": "产品型号",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 3,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "产品参数",
                        "m": "产品参数",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 4,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "单位",
                        "m": "单位",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 5,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "数量",
                        "m": "数量",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 6,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "单价(元)",
                        "m": "单价(元)",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 7,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "总价(元)",
                        "m": "总价(元)",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 8,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "备注",
                        "m": "备注",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 7,
                    "c": 9,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "图片",
                        "m": "图片",
                        "ht": "0",
                        "vt": "0",
                        "fs": 10,
                        "bl": 1,
                    },
                },
                {
                    "r": 11,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "特殊备注",
                        "m": "特殊备注",
                        "ht": "0",
                        "vt": "0",
                        "bl": 1,
                        "fs": 10
                    },
                },
                {
                    "r": 11,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "以上报价含13%增值税专用发票,所有设备一次性提货含运费,不含安装费用、产品质保一年,终身维修,配件除外。",
                        "m": "以上报价含13%增值税专用发票,所有设备一次性提货含运费,不含安装费用、产品质保一年,终身维修,配件除外。",
                        "ht": "0",
                        "vt": "0",
                    },
                },
                {
                    "r": 12,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "发货及运输",
                        "m": "发货及运输",
                        "ht": "0",
                        "vt": "0",
                        "bl": 1,
                        "fs": 10
                    },
                },
                {
                    "r": 12,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "由产品供应商负责发货",
                        "m": "由产品供应商  负责发货",
                        "ht": "0",
                        "vt": "0",
                    },
                },
                {
                    "r": 13,
                    "c": 0,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "售后服务",
                        "m": "售后服务",
                        "ht": "0",
                        "vt": "0",
                        "bl": 1,
                        "fs": 10
                    },
                },
                {
                    "r": 13,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "1、产品质量保证按照《产品质保规定》执行",
                        "m": "1、产品质量保证按照《产品质保规定》执行",
                        "vt": "0",
                    },
                },
                {
                    "r": 14,
                    "c": 1,
                    "v": {
                        "ct": {"fa": "General", "t": "g"},
                        "v": "2、为更好为您提供服务、本司售前电话,欢迎批评指正",
                        "m": "2、为更好为您提供服务、本司售前电话,欢迎批评指正",
                        "vt": "0",
                    },
                },

            ],
            "visibledatarow": [],
            "visibledatacolumn": [],
            "rowsplit": [],
            "ch_width": 4748,
            "rh_height": 1790,
            "luckysheet_select_save": [
                {
                    "row": [
                        0,
                        1
                    ],
                    "column": [
                        0,
                        0
                    ]
                }
            ],
            "luckysheet_selection_range": [],
            "scrollLeft": 0,
            "scrollTop": 0,
            "defaultColWidth": 120,
            "defaultRowHeight": 35,
        }
    ]
        }
    }
}

luckysheet.create(options);
luckysheet.setRangeShow("A1", {show: false})
luckysheet.setRangeShow("A2", {show: false})

效果图:
在这里插入图片描述
后面会介绍创建动态excel以及数据的两种加载方式和钩子函数~~~

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值