vfan120 发表于 2024-12-23 15:12:13

【SpreadJS v16】表格编辑器中导入excel存在格式问题

本帖最后由 Wilson.Zhang 于 2024-12-25 08:45 编辑

产品:SpreadJS
版本:16
调研编号:SJS-27864
Last Review:2024-12-25
当前进展:非产品功能问题,用户提供的Excel文件中没有有效的行高信息,重新保存即可。

使用本问题中的附件,导入到表格编辑器后,样式有差异,请问此问题是否有解?

导入后样式:




线下使用excel打开样式如下:


Wilson.Zhang 发表于 2024-12-23 15:12:14

vfan120 发表于 2024-12-24 09:40
我使用的具体版本号是16.2.2,不过上述问题可以在你们在线提供的demo里复现。
好的,了解您使用的具体版本。

经调研,发现您提供的xlsx文件中没有可用的行高信息,如下图所示:


我通过Microsoft Excel软件打开xlsx文件后,不做任何操作,仅通过ctrl+s保存文件。之后再将其导入SpreadJS,单元格行高正常,可显示完整内容。此时的xlsx文件中包含有效行高,如下图所示:


请教下您的xlsx文件是通过Microsoft Excel软件制作的吗?

Wilson.Zhang 发表于 2024-12-23 15:59:17

您好!调研下先,调研编号为SJS-27864,之后会及时向您同步结论,请您耐心等候。请教下您使用的具体版本号。

在此之前,您可以参考如下代码在导入文件后对各sheet中的数据区域自适应行高:
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container')
let spread;
designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function(e, args) {
    console.log('file loaded, args: ', args);
    spread = designer.getWorkbook();
    for (var i = 0; i < spread.getSheetCount(); i++) {
      var curSheet = spread.getSheet(i);
      var usedRange = curSheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.data);
      if (usedRange) {
            curSheet.suspendPaint();
            for (var j = usedRange.row; j < usedRange.row + usedRange.rowCount; j++) {
                curSheet.autoFitRow(j);
            }
            curSheet.resumePaint();
      }
    }
});

vfan120 发表于 2024-12-24 09:40:33

Wilson.Zhang 发表于 2024-12-23 15:59
您好!调研下先,调研编号为SJS-27864,之后会及时向您同步结论,请您耐心等候。请教下您使用的具体版本号 ...

我使用的具体版本号是16.2.2,不过上述问题可以在你们在线提供的demo里复现。

vfan120 发表于 2024-12-24 19:36:44

Wilson.Zhang 发表于 2024-12-24 13:33
好的,了解您使用的具体版本。

经调研,发现您提供的xlsx文件中没有可用的行高信息,如下图所示:


问了下我们的测试,是在企业微信后台导出的excel,有可能是他们导出的excel处理有问题,如果这边不好解决的话就算了,能解释的清楚就好。

Wilson.Zhang 发表于 2024-12-25 08:44:56

vfan120 发表于 2024-12-24 19:36
问了下我们的测试,是在企业微信后台导出的excel,有可能是他们导出的excel处理有问题,如果这边不好解决 ...

我们调研的结果向您同步了,是Excel文件中没有有效的行高信息。那可以排查下通过Microsoft Excel软件制作的文件是否包含有效的行高信息。

如有新问题,欢迎发新帖沟通。
:mj72:
页: [1]
查看完整版本: 【SpreadJS v16】表格编辑器中导入excel存在格式问题