需求背景:合并单元格设置格式化,设置完成之后,右键菜单,单元格格式化中显示没有同步更新。如下所示:
可以看到,使用getCell(row,col).formatter()之后,单元格的显示已经发生变化,但右键单元格格式化显示中,并没有显示为数值。
解决方法:
这个和所设置的单元格是合并单元格有关。在UI上设置时,合并单元格被合并的区域整体都会被设置格式化。但是我们在用代码添加时,只是对单个单元格做了设置。如果想要达到和UI一致的效果。需要在设置前先判断是否为合并单元格。如果是合并单元格,则需要使用range上的formatter方法。详细代码如下:
- var span = sheet.getSpan(rowIndex, colIndex);
- if (span) {
- sheet.getRange(span.row, span.col, span.rowCount, span.colCount).formatter("0.00")
- } else {
- sheet.getCell(rowIndex, colIndex).formatter("0.00")
- }
复制代码 其中,getSpan()用于判断单元格是否为合并单元格。
|
|