找回密码
 立即注册

QQ登录

只需一步,快速开始

UncleYiba

注册会员

3

主题

14

帖子

133

积分

注册会员

积分
133
最新发帖
UncleYiba
注册会员   /  发表于:2017-6-17 11:31  /   查看:3838  /  回复:3
image.png708238830.png 如图这是原Excel表单的单元格样式,在一个单元格内有两种不同样式的字体,
image.png36919249.png 这是导入之后的样式- -很明显后面的问题全部采取了和前几个字一样的样式。
image.png642738341.png 我找到了对应部分的json,是这个样子的。
image.png776307372.png 对应的value部分是这样子的。

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-19 11:18:49
沙发
您好,单元格中出现多种字体格式的功能我们产品是不支持的,如果您有这方面的需求,建议您使用两个单元格,然后将单元格之间的边框去掉来实现。
回复 使用道具 举报
UncleYiba
注册会员   /  发表于:2017-6-20 09:08:00
板凳
ClarkPan 发表于 2017-6-19 11:18
您好,单元格中出现多种字体格式的功能我们产品是不支持的,如果您有这方面的需求,建议您使用两个单元格, ...

通常的Excel表格导入之后每一个单元格主要有一个value和style组成,其中style为name的String形式,而不是一个jsonObject形式。
但是如果在线操作对单元格进行setColor之类的操作的时候,就会导致style变成一个jsonObject的形式,有什么方式可以对这种json进行处理,使得它依旧保持String的style形式,并在nameStyles中增加对应的style
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-20 15:17:37
地板
UncleYiba 发表于 2017-6-20 09:08
通常的Excel表格导入之后每一个单元格主要有一个value和style组成,其中style为name的String形式,而不是 ...

您可以使用getNamedStyle获取namestyle对象,然后在对象中更新相应style,然后在repaint()即可。
以下例子可以参考:
var namedStyle = new GC.Spread.Sheets.Style();
namedStyle.name = "style1";
namedStyle.backColor = "green";
spread.addNamedStyle(namedStyle);
activeSheet.setStyleName(1, 1, "style1"); // cell(1,1)'s backColor is  green.
activeSheet.setStyleName(2, 1, "style1");

var style = spread.getNamedStyle("style1");
style.foreColor = "red";    // the namedStyle's foreColor is red.
activeSheet.repaint(); // the foreColor of the cell(1,1) and cell(2,1) is red.
activeSheet.getCell(1,1).value("test");

$("#button1").click(function () {
spread.removeNamedStyle("style1");
    });

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部