找回密码
 立即注册

QQ登录

只需一步,快速开始

onroader

初级会员

35

主题

85

帖子

284

积分

初级会员

积分
284
onroader
初级会员   /  发表于:2017-4-26 10:08  /   查看:3392  /  回复:3

如图Excel可以把数字显示为中文,请问Spread有没有这样的功能。
blob293634032.png

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-26 14:15:11
沙发
Spread没有。
需要自己通过一定规则转换
回复 使用道具 举报
onroader
初级会员   /  发表于:2017-4-26 15:20:50
板凳
本帖最后由 onroader 于 2017-4-26 15:22 编辑

可以通过一定规则转换,但是转换之后单元格的值就不再是数字了,不能进行其他数学计算了。
而且这个转换只能转换输入的数字,对于公式计算的数字是不能转换的。能不能做到只修改显示样式,实际单元格的值还是数字,相当于做了格式化。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-26 18:19:55
地板
最简单的方案是重写 PaintCell ,绘制的时候改变以下, 或者重写format


            MyFormatCellType ct = new MyFormatCellType();
            fpSpread1.ActiveSheet.Cells[3, 2].CellType = ct;
            fpSpread1.ActiveSheet.Cells[3, 2].Formula = "A1";

    public class MyFormatCellType : FarPoint.Win.Spread.CellType.GeneralCellType
    {
        public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, object value, bool isSelected, bool isLocked, float zoomFactor)
        {
            var text = value == null ? "" : value + " 元整";
            base.PaintCell(g, r, appearance, text, isSelected, isLocked, zoomFactor);

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