找回密码
 立即注册

QQ登录

只需一步,快速开始

hano7758

注册会员

11

主题

22

帖子

87

积分

注册会员

积分
87
hano7758
注册会员   /  发表于:2020-11-6 09:41  /   查看:2919  /  回复:5
var sheet = spread.getActiveSheet();

var sheetStyle = sheet.getDefaultStyle();
sheetStyle.font = '14px 仿宋';
sheet.setDefaultStyle(sheetStyle);


为什么设置字体的样式,大小起作用,中文的样式就不起作用?


5 个回复

倒序浏览
hano7758
注册会员   /  发表于:2020-11-6 10:37:31
沙发

var sheetStyle = sheet.getDefaultStyle();
替换成
var sheetStyle = new GC.Spread.Sheets.Style();
就好了。
有没有在spread层设置字体的样式的?
现在sheet.setDefaultStyle(sheetStyle),如果我有10个sheet我就得设置10次?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-6 11:31:07
板凳
这里面有个主题字体的概念,默认的字体类型是根据主题来决定的,是Excel的一个规则,Excel中可以给指定的主题来设置字体。SpreadJS中可以通过sheet.currentTheme().bodyFont()来设置,例如:
sheet.currentTheme().bodyFont("仿宋");
而字体大小的全局设置是通过defaultStyle来设置的。
另外,这里defaultStyle中的font需要设置一个整体,所以也不能单独设置
sheetStyle.font = '14px';
综上所述,您的问题只要再您的代码基础上加上
sheet.currentTheme().bodyFont("仿宋");就可以解决了。
回复 使用道具 举报
hano7758
注册会员   /  发表于:2020-11-6 13:01:44
地板
ClarkPan 发表于 2020-11-6 11:31
这里面有个主题字体的概念,默认的字体类型是根据主题来决定的,是Excel的一个规则,Excel中可以给指定的主 ...

有没有在spread层设置字体的样式的?
现在sheet.setDefaultStyle(sheetStyle),如果我有10个sheet我就得设置10次?
回复 使用道具 举报
hano7758
注册会员   /  发表于:2020-11-6 15:10:35
5#
ClarkPan 发表于 2020-11-6 11:31
这里面有个主题字体的概念,默认的字体类型是根据主题来决定的,是Excel的一个规则,Excel中可以给指定的主 ...

根据你说的sheet.currentTheme().bodyFont("仿宋");
好像不起作用。

demo.zip

31.91 KB, 下载次数: 79

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-6 16:36:13
6#
明白您的意思了,您是想要动态的全局设置字体
那么按照下面的方式设置就可以了。在defaultstyle里面先将themeFont设置为null
image.png362760009.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部