找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-29 13:42:50
11#
您客气了。
回复 使用道具 举报
rex_chujie
金牌服务用户   /  发表于:2021-3-30 14:13:56
12#
image.png725701598.png image.png495120543.png
升级到14.0.9加上临时解决方案后,有些表还是出现了问题。“核心指标表B”第一次下载时,有区域变成了粉色

下载.zip

8.34 MB, 下载次数: 86

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-30 14:42:48
13#
本帖最后由 lynn512 于 2021-3-30 14:49 编辑

您好,您将临时解决方案代码替换如下,再次测试下:
  1. isDuplicateName = function (spread, sheet, name) {
  2.     return sheet.getNamedStyle(name) && spread.getNamedStyle(name);
  3. };
  4. checkStyle = function (spread, sheet, r, c) { // Rename the style name if sheet and spread both have same name.
  5.     var style = sheet.getStyle(r, c);
  6.     if (style && style.parentName && isDuplicateName(spread, sheet, style.parentName)) {
  7.         style.parentName = sheet.name() + "_" + style.parentName;
  8.         sheet.setStyle(r, c, style);
  9.         //console.log("renamed the use of style name", r, c, sheet.name());
  10.     }
  11. }
  12. processNamedStyle = function (spread, sheet) { // Move the sheet namedStyle to spread
  13.     var styles = sheet.getNamedStyles();
  14.     for (var i = 0; i<styles.length; i++) {
  15.         var name = styles[i].name;
  16.         if (isDuplicateName(spread, sheet, name)) {
  17.             styles[i].name = sheet.name() + "_" + name;
  18.             //console.log("renamed the sheet style name", name, sheet.name());
  19.         }
  20.         spread.addNamedStyle(styles[i]);
  21.         sheet.removeNamedStyle(name);
  22.     }
  23. }

  24. spread.suspendPaint();
  25. for(var index = 0; index < spread.sheets.length; index++) {
  26.     var sheet = spread.sheets[index];
  27.     for (var c = 0; c < sheet.getColumnCount(); c++) {
  28.         checkStyle(spread, sheet, -1, c); // column style
  29.     }
  30.     for (var r = 0; r < sheet.getRowCount(); r++) {
  31.         checkStyle(spread, sheet, r, -1); // row style
  32.         for (var c = 0; c < sheet.getColumnCount(); c++) {
  33.             checkStyle(spread, sheet, r, c); // cell style
  34.         }
  35.     }
  36.     processNamedStyle(spread, sheet);
  37. }
  38. spread.resumePaint();
复制代码

如果问题仍未解决,我们计划在4月28号发布V14.1.0,建议您在V14.1.0发布后重新测试,看问题能否解决。


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-18 09:48:16
14#
V14.1.0已发布,您可以通过npm升级至最新版本,测试此问题是否解决。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部