找回密码
 立即注册

QQ登录

只需一步,快速开始

fscorpion

金牌服务用户

1

主题

4

帖子

2039

积分

金牌服务用户

积分
2039
  • 2035

    金币

  • 主题

  • 帖子

最新发帖
fscorpion
金牌服务用户   /  发表于:2015-10-8 21:27  /   查看:4579  /  回复:1
  本人使用SpreadJS实现报表设计器的功能,其中有大量类似excel中的字体样式调整的功能,于是参考官方例子,使用了类似cell.font("italic bold 15px/30px Georgia")的设置方法。
  font函数的参数是一个字符串,操作起来特别麻烦,比如我想把15px改成20px,只能对"italic bold 15px/30px Georgia"这个字符串进行分析然后抓出15px改成20px才行吗,有无更好的方法?是否有类似cell.font.fontSize("20px")这样的函数接口或者属性接口可以提供?
  同时,在使用sheet的toJson方法生成的json中,cell的font样式在有的情况下会生成为"normal normal normal 15px/30px Calibri"这样,相当于自动在字符串中补充了几个"normal"。甚至还有"15px / normal"("px" 空格 左斜杠 空格 "normal",前后各多出了一个空格)这样的情况出现。此时这个字符串的构造形式已经十分诡异复杂,特别不好解析和进行后续维护。
  可否提供一下font样式更为简洁方便的设置方法,如果没有,能否将font setting字符串的详细格式,以及基本构造规律和判断方法(比较关心的其实就是加粗、斜体、字体大小、字体)告知,不胜感激。

  ps:我使用的版本是SpreadJS Library 3.20151.16

1 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-10-9 10:32:00
沙发
您好

您的问题提的非常的严谨,可见您在使用Spread JS上已经非常熟悉了。

font的设置方式,目前只有这一种"italic bold 15px/30px Georgia"方式,对您的使用带来的不便,非常抱歉。

首先,这个问题我已经反馈给了产品组,初步沟通,这个问题作为一个新的需求排进开发计划中。
但是,目前您如果想通过设置fontSize的方式,有一个简单的方式可以实现
1.创建一个span
2.将span追加到document当中
3.将cell的font样式赋值给span的font样式
4.修改span的font样式,将span的font样式赋值给cell的font样式

需要指出的是,我们的cell中的font是完全和css的font一致的。
所以最后一个问题,font的 详细格式,您可以参考css中font详细格式。
http://www.w3schools.com/css/css_font.asp
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部