在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