SpreadJS兼容90%以上的Excel公式,公式的出错信息也是和Excel一样,例如常见的#Value、#REF、#N/A等。上面这些报错信息具体代表的是什么意思呢?我们可以参考这篇技术文章。
https://gcdn.grapecity.com.cn/showtopic-73967-1-1.html
在本篇技术教程中,我们将实现如何根据公式报错自定义报错信息,我们通过自定义单元格来实现这个需求。
核心代码如下,我们通过paint方法修改单元格的value,下面的代码就是通过判断单元格的#DIV/0的错误实现自定义内容。
- function ShowValueCellType() {
- }
- ShowValueCellType.prototype = new spreadNS.CellTypes.Text();
- ShowValueCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
- if (value && value._error === "#DIV/0!") {
- // 在这里改变值
- value = "我是错误值";
- }
- spreadNS.CellTypes.Text.prototype.paint.apply(this, [ctx, value, x, y, w, h, style, options]);
- };
复制代码
我们知道除以0值的时候会出现#DIV/0,通过自定义单元格后,可以看下具体的效果。
下载附件即可查看完整demo
|
|