SpreadJS还没有在单元格中实现上下标功能,不过我们可以通过以下一些手段实现。

一、使用Unicode字符集

Unicode字符集除了提供了各种文字,也提供了丰富的符号表情,我们可以直接使用。我们可以直接从其他地方复制需要的字符到需要输入的地方比如这里复制了上标²,这种方式是最简单的方式。

我们可以在字符百科这个网站搜索到我们需要的字符。

在js代码中也可以使用String.fromCharCode方法显示,在网站中我们可以查询到字符对应的code,然后调用方法即可,比如String.fromCharCode(0x00B2)同样是上标二。具体可以在http://runjs.cn/code/t855s0f6看到效果。

二、通过html页面转换

之前我们实现过一个 HTML元素单元格 http://runjs.cn/code/imqwbthf 。同样我们可以使用html的sup标签实现上标,这样上标的内容就不仅仅限于字符集中的上标字符了。(由于IE不支持foreignObject,这个Demo不支持IE,如果需要使用IE可以使用html2canvas将html转换为canvas直接显示)

三、终极大招自定义单元格

SpreadJS自定义单元格的灵活性大家都已经很清楚了,如果上述方法都无法满足需求,那么可以使用自定义单元格,在paint方法中自由绘制文字,实现我们对富文本编辑的需求。

 

综上,三种方法从易到难,具体可以结合自己使用情况而定。

更多资源

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