找回密码
 立即注册

QQ登录

只需一步,快速开始

z3393898

初级会员

14

主题

38

帖子

446

积分

初级会员

积分
446
z3393898
初级会员   /  发表于:2017-12-16 16:51  /   查看:4521  /  回复:9
产品版本:spreadjsv9
浏览器版本: ie11
问题描述:表A调整好样式(表头合并单元格加颜色)并保存后,表B是根据表A生成的,只是表A的每一列(预算数)变成了两列(预算数和执行数);因为扩展了列,表B的样式就需要重新生成,但是想要继续使用表A的表头样式,请问如何取到A的表头样式并应用到B上。
关键代码:

表A
blob20604552.png
表B
blob422731627.png

9 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-18 14:57:04
沙发
您好:
您可以通过var actualStyle = sheet.getActualStyle(x,y); 获取指定单元格的真实样式
然后通过sheet.setStyle(x, y, actualStyle);将该真实样式赋予指定的单元格。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2017-12-19 09:31:12
板凳
有没有直接从json串里获取的方法啊。这个地方不想再打开一次表A 了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-19 09:53:42
地板
如果从json,那么只能您自己去解析json字符串了,Spreadjs本身没有解析json的相关方法能够调用。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2017-12-19 10:17:00
5#
哦好的,那我先试一下你说的这个办法
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-19 14:29:13
6#
好的,有什么问题随时沟通。
回复 使用道具 举报
z3393898
初级会员   /  发表于:2017-12-19 15:40:07
7#
ClarkPan 发表于 2017-12-18 14:57
您好:
您可以通过var actualStyle = sheet.getActualStyle(x,y); 获取指定单元格的真实样式
然后通过she ...

这个只能获取单个单元格的样式啊?我想获取的是整个表头区域,而且表头中又很多合并过的单元格,还有里边的字的一并拿过来。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-19 15:43:55
8#
这个您写一个循环去获取,里面的字的话getValue就能获取到
回复 使用道具 举报
z3393898
初级会员   /  发表于:2017-12-19 16:35:19
9#
ClarkPan 发表于 2017-12-19 15:43
这个您写一个循环去获取,里面的字的话getValue就能获取到

循环是可以一个一个设置,但是合并的单元格就没有办法这样设置了啊。 blob367231444.png 比如这个图中的本年数量是占了3-5行
blob561134643.png 但是这样复制过来之后,就只占了第三行。这样的话下面的数量还是显示出来了。怎么能把原来合并的单元格,复制过来之后也是合并的呢

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-19 16:56:22
10#
那这样吧,您用sheet.toJSON将本sheet完全序列化,然后另一个表的sheet用fromJSON反序列化,然后再在基础上进行修改。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部