本帖最后由 新雨月 于 2021-5-26 17:06 编辑
需要将单元格进行自定义格式化处理,格式化逻辑较为复杂,不在此讨论。实现过程中发现,单元格套用自定义格式后,数值0在自定义格式的单元格中显示为空。
排查后发现只要是单元格套用了自定义格式,数值0必然显示为空,无论格式化format方法中的逻辑代码如何定义。
- function C(){}
- C.prototype = new GC.Spread.Formatter.FormatterBase();
- C.prototype.format = function(a){return a;} // 直接返回,不做处理。
- spread.getActiveSheet().getRange(0,0,10,1).formatter(new C()); // A列自定义格式,文本0,正常显示
- spread.getActiveSheet().getRange(0,1,10,1).formatter(new GC.Spread.Formatter.GeneralFormatter()); // B列默认格式,数值0,正常显示
- spread.getActiveSheet().getRange(0,2,10,1).formatter(new C()); // C列自定义格式,数值0,显示为空
复制代码
如上代码所示,自定义format方法,方法无逻辑处理直接返回值。下图中C列的数值0在自定义格式化后显示为空,但A列的文本0在使用自定义格式后,能正常显示0,且使用默认格式化的B列的数值0正常显示0。
问:如何在使用自定义格式化时,数值0能正常显示。
|