Winny 发表于 2023-11-10 10:54:48

合并单元格设置格式化,UI不同步问题

需求背景:合并单元格设置格式化,设置完成之后,右键菜单,单元格格式化中显示没有同步更新。如下所示:


可以看到,使用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()用于判断单元格是否为合并单元格。
页: [1]
查看完整版本: 合并单元格设置格式化,UI不同步问题