找回密码
 立即注册

QQ登录

只需一步,快速开始

xiangbozhong

注册会员

7

主题

16

帖子

51

积分

注册会员

积分
51
xiangbozhong
注册会员   /  发表于:2021-8-9 20:58  /   查看:1639  /  回复:1
1金币
你好,现在我们实现多个工作簿里面的sheet合并导出的功能。暂定workbook1和workbook2,workbook2的sheet向workbook1合并。暂定sheet1,sheet2
workbook1和workbook2都有自己的样式。现在合并之后,在页面上展示样式是正常的,但是导出之后样式混乱。
我目前是按照下面的方式做的。
1.获取workbook2的book样式,然后添加到workbook1中
2.获取workbook2的sheet2样式,并通过workbook1的sheet1去找同样的样式,如果sheet1含有同一个样式,那么就把sheet2的样式重命名,并重新设置到sheet2上。相同的样式,包括行样式,列样式,单元格样式全部重新设置。
3.把sheet2插入到workbook1的后面,然后进行导出。


现在的问题是,sheet样式有setStyle的方法。但是workbook的样式,除了有一个addNameStyles()的方法,没办法进行像sheet一样重新设置workbook的样式。
导出去的时候,两个workbook的样式如果有同名的会互相覆盖。。步骤1中如果我添加workbook的样式,没有修改样式名,就会导致sheet1的样式乱掉。如果修改了样式名,那么就会导致sheet2的本身样式丢失。


我的理解如果workbook的样式能像sheet一样重新设置,并把相关引用的样式指定进行修改就可以了。
麻烦看下这个怎么处理,没有找到相关api

最佳答案

查看完整内容

您可以参考这篇技术文章,通过getNamedStyles获取工作簿的命名样式,然后再通过addNamedStyle添加命名样式。目前在工作簿级别的样式操作只能通过NamedStyle来处理。 https://gcdn.grapecity.com.cn/showtopic-93624-1-1.html

1 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-9 20:58:21
来自 2#
您可以参考这篇技术文章,通过getNamedStyles获取工作簿的命名样式,然后再通过addNamedStyle添加命名样式。目前在工作簿级别的样式操作只能通过NamedStyle来处理。
https://gcdn.grapecity.com.cn/showtopic-93624-1-1.html
image.png598990783.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部