找回密码
 立即注册

QQ登录

只需一步,快速开始

动爸
金牌服务用户   /  发表于:2024-7-16 10:04  /   查看:1208  /  回复:4
100金币
本帖最后由 Wilson.Zhang 于 2024-8-28 15:14 编辑

产品:SpreadJS
版本:17.0.2
调研编号:SJS-25593
Last Review:2024-08-28
当前基站:非功能阻碍,已提供解决方案。

单元格类型中,自定义类型为:+G/通用格式;-G/通用格式;G/通用格式
显示与excel的不一致。看看有什么办法能够实现以下效果。

excel 的显示
image.png484636840.png

葡萄城的显示
image.png342789611.png

最佳答案

查看完整内容

在通过代码或者在设计器中输入格式字符串的时候,可以使用“+General;-General;General”这个格式字符串即可解决问题 需要注意的是在desinger的格式化对话框中输入这个字符串,签名的一部分会被转换成“G/通用格式”这个没有关系,直接保存即可

4 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-16 10:04:35
来自 4#
在通过代码或者在设计器中输入格式字符串的时候,可以使用“+General;-General;General”这个格式字符串即可解决问题

需要注意的是在desinger的格式化对话框中输入这个字符串,签名的一部分会被转换成“G/通用格式”这个没有关系,直接保存即可
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-16 11:18:05
2#

根据楼主提供的信息试了下,发现SpreadJS暂不支持这种设置方式,不过发现Excel对这种自定义数据类型的响应也是正数前添加了'+'符号,对于负数和0也保留了原来的数值形式。
楼主的需求是对正数变换为前缀有'+'的数据格式吗?如果是的话,可以自定义函数判别引用单元格的值是否为正数,如果是正数,则将其变换为'+'后接正数的数据格式,否则就不做额外处理,这样变化后也不影响引用变化后的数据做运算。可参考如下代码:
  1. function FillPositive() {
  2.     this.name = 'FILLPOSITIVE';
  3.     this.maxArgs = 1;
  4.     this.minArgs = 1;
  5. }
  6. FillPositive.prototype = new GC.Spread.CalcEngine.Functions.Function();
  7. FillPositive.prototype.evaluate = function(arg) {
  8.     return arg > 0 ? '+' + arg : arg;
  9. }
  10. var fillPositive = new FillPositive();
  11. sheet.addCustomFunction(fillPositive);
复制代码

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-16 11:41:58
3#
本帖最后由 Richard.Ma 于 2024-7-25 10:28 编辑

此问题需要报研发调查原因。后续进展会在帖子中更新

SJS-25593
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-28 15:15:56
5#
您好!看起来该问题已被解决,那就结帖了。如有问题,欢迎继续沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部