在Excel使用中我们经常有拆分和合并Sheet的需求,下面讲解下如何使用SpreadJS在前端合并拆分sheet。
一,拆分Excel
比如我们需要向Excel1中的sheet1和sheet2,分别拆分到Excel11和Excel12中。
1. 使用Excel IO导入Excel1到spread1。
2. 获取sheet1,使用toJSON和form JSON的方式复制sheet1.
var sheet1 = spread1.shees[0];
var newSheet = spread11.sheet[0];
newSheet.fromJSON(JSON.parse(JSON.stringify(sheet.toJSON())))
然后我们将spread11 使用toJSON导出json,并使用ExcelIO 导出Excel即可。
3. 同理我们使用上述方法处理sheet2.
二、合并Excel
和并Excel同样也是使用sheet的fromJSON和toJSON方法复制sheet,然后将复制的sheet导入需要合并的spread中。这里需要注意的一点,sheet 名称不能相同,所以在导入前,需要修改sheet name。
var sheet1 = spread1.shees[0];
var sheet2 = spread2.shees[0];
var json1 = sheet1.toJSON();
var json2 = sheet2.toJSON();
json1.name = "Sheet1"json1.name = "Sheet2"spread.sheets[0].fromJSON(JSON.parse(JSON.stringify(json1)))spread.sheets[1].fromJSON(JSON.parse(JSON.stringify(json2)))
代码中将Excel1和Excel2的sheet1 都导出到json,然后修改sheet name,然后导入到新的spread中。最后使用ExcelIO导出即可
在合并拆分单元格是,我们还需考虑到跨单元格引用公式的问题,这样的合并拆分可能导致公式引用失效,需要谨慎操作。
更多资源
SpreadJS中文学习指南:http://demo.grapecity.com.cn/SpreadJS/TutorialSample/#/samples
SpreadJS在线英文产品文档:http://sphelp.grapecity.com/webhelp/SpreadJSWeb/webframe.html#welcome.html
如果您对SpreadJS产品感兴趣,可以到官方网站下载试用:/developer/spreadjs
如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn