请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

zealous

注册会员

1

主题

2

帖子

5

积分

注册会员

积分
5
  • 27

    金币

  • 1

    主题

  • 2

    帖子

最新发帖
zealous
注册会员   /  发表于:2025-3-6 14:10  /   查看:69  /  回复:3
1金币
本帖最后由 zealous 于 2025-3-6 16:38 编辑

这个是浏览器SpreadJS渲染的:


这个是导出的Excel文件:

稀释倍数一列变成了两列。

补充(2025-03-06 16:18:32):
此区域为SpreadJS表格,当转换为普通区域时,导出正常;再次添加为数据表格时,导出如上面所述异常。

补充(2025-03-06 16:37:50):
增加了一个附件,画了一个很简单的模板,导出也是有异常。

SpreadJS 13.2.0

代码部分:
var excelJson = spread.toJSON({includeBindingSource: true, ignoreFormula: true});
excelIO.save(excelJson, function (blob) {
    // 这里的 blob 就是Excel,变成了两列
})






示例.zip

2.6 KB, 下载次数: 1

最佳答案

查看完整内容

您好!您使用了Table,SpreadJS支持在Table中合并单元格,而Microsoft Excel不支持对Table中的单元格执行合并,所以导出的xlsx文件中无法保留Table中单元格的合并效果。 如果在您的业务场景中必须要导出文件为xlsx,可以在导出前将Table转为普通区域,xlsx文件中即可保留原有合并单元格效果。如下动图所示,可以通过tableToRange命令从代码侧将Table转为区域,命令所需参数分别为sheet名称和Table名称;也可以通过工具栏的“转 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-3-6 14:10:27
来自 2#
您好!您使用了Table,SpreadJS支持在Table中合并单元格,而Microsoft Excel不支持对Table中的单元格执行合并,所以导出的xlsx文件中无法保留Table中单元格的合并效果。

如果在您的业务场景中必须要导出文件为xlsx,可以在导出前将Table转为普通区域,xlsx文件中即可保留原有合并单元格效果。如下动图所示,可以通过tableToRange命令从代码侧将Table转为区域,命令所需参数分别为sheet名称和Table名称;也可以通过工具栏的“转换为区域”按钮实现:
Table转区域.gif
回复 使用道具 举报
zealous
注册会员   /  发表于:2025-3-6 18:01:35
3#
Wilson.Zhang 发表于 2025-3-6 17:30
您好!您使用了Table,SpreadJS支持在Table中合并单元格,而Microsoft Excel不支持对Table中的单元格执行合 ...

好用,感谢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-3-6 18:04:05
4#
不客气,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部