[1.17.4] spread import是否能添加Sheet
你好,
我使用spreadjs的導入,我的需求是,在原本的spreadjs sheet中再加入導入的Sheet,請問是否有辦法實現
目前我用範例中是導入後會把現有的Sheet初始化掉,这不是我要的
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs
spread.import
您好!關於您的需求,需要自定義邏輯實現。由於導入文件的功能被集成在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
spread.import()方法中,第二个参数是导入文件的成功回调,在回调中调用spread.addSheet()添加你希望的工作表即可。
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/initialize-sheet/purejs
页:
[1]