vue項(xiàng)目Luckysheet的使用
什么是Luckysheet
Luckysheet ,一款純前端類似excel的在線表格,功能強(qiáng)大、配置簡單、完全開源。
Luckysheet官網(wǎng):https://github.com/mengshukeji/Luckysheet/blob/master/README-zh.md
Luckysheet使用(vue項(xiàng)目)
1、引入
目前Luckysheet不支持使用npm安裝包,所以只能使用CDN引入依賴;在vue項(xiàng)目的public/index.html文件里引入:
<link rel='stylesheet' /> <link rel='stylesheet' /> <link rel='stylesheet' /> <link rel='stylesheet' /> <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>
2、初始化Luckysheet
可以根據(jù)Luckysheet的官方文檔配置在線文檔,官方文檔提供了很多配置項(xiàng),基本都能滿足一般的開發(fā)需求。配置如下:
const options = {
container: 'luckysheet', // luckysheet為容器id
lang: 'zh',
showinfobar: false, // 標(biāo)題部分信息
showsheetbar: false, // 底部sheet頁
sheetFormulaBar: true, // 是否顯示公示欄
showstatisticBar: false, // 自定義計(jì)數(shù)欄
showtoolbar: false, // 默認(rèn)工具欄都不顯示
enableAddRow: false, // 底部添加行按鈕
showtoolbarConfig: { // 自定義配置工具欄
undoRedo: true, // 撤銷重做,注意撤消重做是兩個按鈕,由這一個配置決定顯示還是隱藏
paintFormat: true, // 格式刷
mergeCell: true // '合并單元格'
},
cellRightClickConfig: { // 自定義右鍵單元格
insertColumn: false,
deleteColumn: false,
hideRow: false,
hideColumn: false,
deleteCell: false,
sort: false,
filter: false, // 篩選選區(qū)
chart: false, // 圖表生成
image: false, // 插入圖片
link: false, // 插入鏈接
data: false,
matrix: false
},
enableAddBackTop: false
}
再使用luckysheet.create(options)創(chuàng)建;這樣一個在線文檔就創(chuàng)建好了。
3、初始化文檔標(biāo)題行
一般在實(shí)際需求中,excle都是需要有標(biāo)題行來告訴使用者每個單元格填寫什么內(nèi)容,所以就需要在初始化luckysheet時配置好;luckysheet的options配置項(xiàng)里提供了一個celldata屬性可以指定單元格數(shù)據(jù)。其中r代表行號,c代表列號,m為原始值,v為顯示值。
data: [
{
celldata: [
{
r: 0,
c: 0,
v: {
ct: { fa: 'General', t: 'g' },
m: '序號',
v: '序號'
}
},
{
r: 0,
c: 1,
v: {
ct: { fa: 'General', t: 'g' },
m: '姓名',
v: '姓名'
}
}
]
}
]
4、配置數(shù)據(jù)驗(yàn)證
在單元格上限制輸入內(nèi)容或格式也是使用excle常見的,Luckysheet也支持對不同單元格進(jìn)行設(shè)置。不好的一點(diǎn)是:我們一般都是需要將某一列或者某幾列單元格設(shè)置數(shù)據(jù)驗(yàn)證,而Luckysheet只支持對單個或單個選區(qū)進(jìn)行設(shè)置;
初始化時設(shè)置數(shù)據(jù)驗(yàn)證
const options = {
data: {
dataVerification: {
'1_2': {
type: 'dropdown',
type2: null,
value1: '高,中,低',
prohibitInput: true
}
}
}
}
luckysheet生成后設(shè)置數(shù)據(jù)驗(yàn)證
luckysheet.setDataVerification(
{
type: 'dropdown',
type2: null,
value1: '高,中,低',
prohibitInput: true
},
{
range: 'B1'
}
)
5、監(jiān)聽單元格
Luckysheet的鉤子函數(shù)cellUpdated可用于監(jiān)聽單元格的數(shù)據(jù)修改;
const options = {
hook: {
cellUpdated: function (r, c, oldValue, newValue, isRefresh) {
// 執(zhí)行單元格修改后的操作
}
}
}
總結(jié)
最后附上實(shí)現(xiàn)效果圖:(效果圖稍后附上)

此上內(nèi)容為開發(fā)后的筆記整理,僅作后期查看用。
到此這篇關(guān)于vue項(xiàng)目Luckysheet的使用的文章就介紹到這了,更多相關(guān)vue Luckysheet使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳細(xì)講一講vue3下會造成響應(yīng)式丟失的情況
vue3開發(fā)過程中,綁定的響應(yīng)式數(shù)據(jù)失去了響應(yīng)式,如何解決問題呢,下面這篇文章主要給大家介紹了關(guān)于vue3下會造成響應(yīng)式丟失的情況,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Vue3.3?+?TS4構(gòu)建實(shí)現(xiàn)ElementPlus功能的組件庫示例
Vue.js?是目前最盛行的前端框架之一,而?TypeScript?則是一種靜態(tài)類型言語,它能夠讓開發(fā)人員在編寫代碼時愈加平安和高效,本文將引見如何運(yùn)用?Vue.js?3.3?和?TypeScript?4?構(gòu)建一個自主打造媲美?ElementPlus?的組件庫2023-10-10
Vue2項(xiàng)目中Mock.js的完整集成與使用教程
Mock.js 是一個可以在開發(fā)階段模擬后端數(shù)據(jù)接口的 JavaScript 庫,它能夠生成大量不同類型的隨機(jī)數(shù)據(jù),并且模擬真實(shí)的接口返回,允許前端開發(fā)在沒有真實(shí)后端接口的情況下進(jìn)行開發(fā),本文給大家介紹了Vue2項(xiàng)目中Mock.js的完整集成與使用教程,需要的朋友可以參考下2025-02-02
Vue報錯:Injection?"xxxx"?not?found的解決辦法
這篇文章主要給大家介紹了關(guān)于Vue報錯:Injection?"xxxx"?not?found的解決辦法,文中通過圖文將解決的辦法介紹的非常詳細(xì),對大家的學(xué)習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07

