请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Dtttax

银牌会员

280

主题

691

帖子

2227

积分

银牌会员

积分
2227
Dtttax
银牌会员   /  发表于:2019-4-17 09:29  /   查看:3478  /  回复:7
单元格中的部分数字字符需要用会计数字格式,例如:xxxx xxx $123,123.01
有没有什么办法可以实现?

7 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-4-17 11:42:49
沙发
您好,推荐您参考自定义formatter:

https://demo.grapecity.com.cn/Sp ... mos/customFormatter
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2019-4-18 09:05:19
板凳
demo里只是改变颜色,怎么把数字改成会计数字格式
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2019-4-18 09:07:31
地板
我返回改好的字符但是没有效果,是不是因为这个数字是通过公式来的?
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2019-4-18 09:24:14
5#
const addFormatter=(cell)=>{
    function CustomNumberFormat() {

    }
    CustomNumberFormat.prototype = new GC.Spread.Formatter.FormatterBase();

    CustomNumberFormat.prototype.format = function (value, formattedData) {
      if(value){
         let array = value.split(' ')
         let number = array[array.length-1].toString()
         let money = number.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g,'$&,')
         value = value.replace(number,money)
      }
      return value
    };
    CustomNumberFormat.prototype.parse = function (str) {
      return new GC.Spread.Formatter.GeneralFormatter().parse(str);
    };
    cell.formatter(new CustomNumberFormat())
  }
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2019-4-18 09:25:04
6#
这是我加formatter的方法,但是不起作用
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2019-4-18 11:44:58
7#
找到原因了,自定义cellType的问题,去掉就可以了。有没有什么办法保留自定义cellType的同时,加上自定义formatter
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-4-18 13:45:16
8#
您好,如果用了自定义CellType,可以直接在paint方法中获取value,并组织成自己期望的样式,就没必要用自定义formatter了.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部