原創(chuàng)|產(chǎn)品更新|編輯:龔雪|2021-09-26 10:47:34.447|閱讀 522 次
概述:本文主要介紹如何使用SpreadJS組件實(shí)現(xiàn)跨Workbook復(fù)制,歡迎下載相關(guān)工具體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
客戶在實(shí)際項(xiàng)目開(kāi)發(fā)中,會(huì)有一張公用sheet存在別的文件中,在別的文件中,想要用到公用sheet中的部分?jǐn)?shù)據(jù)時(shí),直接從公用sheet中去復(fù)制即可。
此需求如果借助SpreadJS提供的UI行為實(shí)現(xiàn)是比較方便的,可以打開(kāi)兩個(gè)瀏覽器窗口,借助瀏覽器復(fù)制、粘貼功能,實(shí)現(xiàn)粘貼復(fù)制,但需要注意的是,瀏覽器的粘貼復(fù)制無(wú)法復(fù)制單元格公式。如果要保留公式,此時(shí)就需要使用SpreadJS內(nèi)部的復(fù)制粘貼功能,但SpreadJS內(nèi)部復(fù)制、粘貼必須操作在同一個(gè)Spread當(dāng)中,因此需要將公用sheet添加到當(dāng)前spread當(dāng)中,本質(zhì)就是將公用sheet toJSON()之后,再fromJSON()到當(dāng)前Spread中,之后使用SpreadJS UI行為完成復(fù)制粘貼即可。
但用戶的本質(zhì)其實(shí)是不想在借助任何UI行為,希望在打開(kāi)SpreadJS的同時(shí),能將公用sheet中的部分?jǐn)?shù)據(jù)就復(fù)制到當(dāng)前Spread當(dāng)中,從而實(shí)現(xiàn)一套自動(dòng)化的復(fù)制粘貼流程,該需求實(shí)現(xiàn)的思路如下:
1. 復(fù)制公用sheet到當(dāng)前Spread當(dāng)中
spread.addSheet(spread.getSheetCount(),new GC.Spread.Sheets.Worksheet("common")) let commonSheet = spread.getSheetFromName('common')commonSheet.fromJSON(common) //common指公用sheet toJSON之后生成的json結(jié)構(gòu)
2. 選中公用sheet待復(fù)制區(qū)域
commonSheet.setSelection(0,0,2,3) commonSheet.addSelection(4,0,2,3)
3. 執(zhí)行copy命令
spread.commandManager().execute({ cmd: 'copy', sheetName: 'common', ignoreClipboard: true })
4. 選中目標(biāo)sheet要粘貼的位置起點(diǎn)
sheet.setSelection(1,0,1,1)
5. 執(zhí)行粘貼操作
spread.commandManager().execute({ cmd: 'paste', sheetName: sheet.name() })
6. 粘貼完成后刪除公用sheet
setTimeout(function(){ spread.removeSheet(spread.getSheetCount() - 1) },1000)
這里注意到,刪除sheet包了一層setTimeout,這是因?yàn)閜aste都是異步命令,需要等到這些操作完成之后在刪掉公用sheet,否則會(huì)報(bào)錯(cuò)。
純前端表格控件SpreadJS,兼容 450 種以上的 Excel 公式,具備“高性能、跨平臺(tái)、與 Excel 高度兼容”的產(chǎn)品特性,備受華為、蘇寧易購(gòu)、天弘基金等行業(yè)龍頭企業(yè)的青睞,并被中國(guó)軟件行業(yè)協(xié)會(huì)認(rèn)定為“中國(guó)優(yōu)秀軟件產(chǎn)品”。SpreadJS 可為用戶提供類 Excel 的功能,滿足表格文檔協(xié)同編輯、 數(shù)據(jù)填報(bào)、 類 Excel 報(bào)表設(shè)計(jì)等業(yè)務(wù)場(chǎng)景需求,極大的降低企業(yè)研發(fā)成本和項(xiàng)目交付風(fēng)險(xiǎn)。
本文轉(zhuǎn)載自
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: