找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-17 11:36  /   查看:2785  /  回复:0
SpreadJS兼容90%以上的Excel公式,公式的出错信息也是和Excel一样,例如常见的#Value、#REF、#N/A等。上面这些报错信息具体代表的是什么意思呢?我们可以参考这篇技术文章。
https://gcdn.grapecity.com.cn/showtopic-73967-1-1.html

在本篇技术教程中,我们将实现如何根据公式报错自定义报错信息,我们通过自定义单元格来实现这个需求。
核心代码如下,我们通过paint方法修改单元格的value,下面的代码就是通过判断单元格的#DIV/0的错误实现自定义内容。
  1. function ShowValueCellType() {
  2.     }
  3.     ShowValueCellType.prototype = new spreadNS.CellTypes.Text();
  4.     ShowValueCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
  5.         if (value && value._error === "#DIV/0!") {
  6.             // 在这里改变值
  7.             value = "我是错误值";
  8.         }
  9.         spreadNS.CellTypes.Text.prototype.paint.apply(this, [ctx, value, x, y, w, h, style, options]);
  10.     };
复制代码


我们知道除以0值的时候会出现#DIV/0,通过自定义单元格后,可以看下具体的效果。
image.png806096801.png

下载附件即可查看完整demo

CustomCellType_DIV0.html

2.11 KB, 下载次数: 95

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部