找回密码
 立即注册

QQ登录

只需一步,快速开始

jerrychen3168
金牌服务用户   /  发表于:2024-12-8 16:12  /   查看:99  /  回复:2
1金币


你好,
我使用spreadjs的導入,我的需求是,在原本的spreadjs sheet中再加入導入的Sheet,請問是否有辦法實現
目前我用範例中是導入後會把現有的Sheet初始化掉,这不是我要的

https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs
spread.import

image.png401613158.png



2 个回复

倒序浏览
Winny
超级版主   /  发表于:2024-12-9 10:49:54
沙发
spread.import()方法中,第二个参数是导入文件的成功回调,在回调中调用spread.addSheet()添加你希望的工作表即可。
https://demo.grapecity.com.cn/sp ... ialize-sheet/purejs
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-9 11:15:37
板凳
您好!關於您的需求,需要自定義邏輯實現。由於導入文件的功能被集成在Workbook中,因此,您需要重新創建一個Workbook實例用以使用Workbook:import()導入文件,記爲CopiedWorkbook,在import函數的成功回調函數中完成在當前工作簿上添加被導入文件中的各sheet。

考慮到您導入的文件中可能包含有樣式,樣式被分別存儲在Workbook和Worksheet上。那麽,需要做一些額外處理。
具體地,對CopiedWorkbook包含的Worksheet遍歷處理,每次創建一個新的Worksheet對象記爲CopiedSheet,用以使用Worksheet:fromJSON()反序列化當前sheet的json數據。然後對CopiedSheet添加CopiedWorkbook中包含的NamedStyle對象,同步樣式。之後,通過Workbook:addSheet()將CopiedSheet添加在當前使用的Workbook對象。

如此,便可將導入的工作簿中的各sheet依次添加在當前使用的工作簿中。

關於額外處理邏輯的詳情,您可以參考如下論壇博客和帖子瞭解詳情:
https://gcdn.grapecity.com.cn/showtopic-226241-1-1.html
https://gcdn.grapecity.com.cn/showtopic-229558-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部