,感谢分享方案。
初步调研,该问题是由 value 和 bindingPath 之间的 moveTo 执行顺序引起的,正在进一步调研解决方案中。
您也可以参考以下workaround方案:
- cellButtonStyle.cellButtons[0].command = (sheet, row, col, option) => {
- let ranges = sheet.getSpans(new GC.Spread.Sheets.Range(row,col,1,1));
- if(ranges.length){
- if (row + ranges[0].rowCount == sheet.getRowCount()) {
- sheet.clear(row, 1, ranges[0].rowCount, 7, 3, 32 /* Axis */ | 64 /* BindingPath */ | 1 /* Data */ | 16 /* Sparkline */ | 2 /* Style */ | 4 /* Comment */);
- } else {
- // 先清除覆盖范围
- sheet.clear(row, 1, ranges[0].rowCount, 7, 3, 32/* Axis */ | 64/* BindingPath */ | 1/* Data */ | 16/* Sparkline */ | 2/* Style */ | 4/* Comment */);
- // 再执行moveTo方法
- sheet.moveTo(row + ranges[0].rowCount, 1, row, 1, sheet.getRowCount() - row - ranges[0].rowCount, 7, GC.Spread.Sheets.CopyToOptions.all);
- }
- }
- }
复制代码
|